Microsoft Graph: no se puede actualizar la fecha de inicio o finalización de un evento
Estoy usando Microsoft Graph .NET SDK para actualizar los eventos de Outlook. El siguiente código actualiza correctamente los atributos Subject
, y Body
de un evento. Pero cuando trato de actualizar Start
y / o End
fechas del evento (que son del tipo dateTimeTimeZone ) aparece el error que se muestra a continuación:
Pregunta : ¿Cuál puede ser la causa del error y cómo podemos resolverlo? Tenga en cuenta que el evento tiene fechas de inicio y finalización locales válidas como 8/21/2020 11:00AM
y 8/21/2020 11:30AM
respectivamente. En realidad, en el modo de depuración, VS2019
se muestra:Start.get returns null
Captura de pantalla del error :

Codigo :
- El error anterior ocurre si quito el comentario de la línea
Start = { DateTime = "2020-08-20T08:30:00.0000000", TimeZone = "UTC" }
siguiente. - Los valores de
authProvider
y las"{id}"
variables no son tan relevantes para el error ya que el código con los valores reales funciona bien sin la líneaStart =....
del código.
...
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var @event = new Event
{
Subject = "Test subject",
Body= new ItemBody { Content = "Test body content"}
//Start = { DateTime = "2020-08-20T08:30:00.0000000", TimeZone = "UTC" }
};
await graphClient.Me.Events["{id}"]
.Request()
.UpdateAsync(@event);
Respuestas
Necesita algo como esto debido al tipo de objeto que se usa en la propiedad
var @event = new Event
{
Subject = "Test subject",
Body = new ItemBody { Content = "Test body content" },
Start = new DateTimeTimeZone { DateTime = "2020-08-20T08:30:00.0000000", TimeZone = "UTC" }
};
Debe agregar la fecha en el siguiente formato. Espero que resuelva su problema.
var @event = new Event
{
Subject = "Test subject",
Body = new ItemBody { Content = "Test body content" },
Start = new DateTimeTimeZone { DateTime = "2020-08-20T08:30:00.0000000", TimeZone = "GMT Standard Time" }
};