Microsoft Graph: impossible de mettre à jour la date de début ou de fin d'un événement
J'utilise le SDK Microsoft Graph .NET pour mettre à jour les événements Outlook. Le code suivant met à jour avec succès les attributs Subject
et Body
d'un événement. Mais lorsque j'essaie de mettre à jour les Start
et / ou les End
dates de l'événement (qui sont du type dateTimeTimeZone ), j'obtiens l'erreur ci-dessous:
Question : Quelle peut être la cause de l'erreur et comment pouvons-nous la résoudre? S'il vous plaît noter que l'événement a valide les dates locales de début et de fin comme 8/21/2020 11:00AM
et 8/21/2020 11:30AM
respectivement. En fait, en mode débogage, VS2019
affiche:Start.get returns null
Capture d'écran de l'erreur :

Code :
- L'erreur ci-dessus se produit si je décommente la ligne
Start = { DateTime = "2020-08-20T08:30:00.0000000", TimeZone = "UTC" }
ci-dessous. - Les valeurs de
authProvider
et les"{id}"
variables ne sont pas très pertinentes pour l'erreur car le code avec les valeurs réelles fonctionne bien sans la ligneStart =....
du code.
...
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);
Réponses
Vous avez besoin de quelque chose comme ça à la place en raison du type d'objet utilisé dans la propriété
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" }
};
Vous devez ajouter la date au format ci-dessous. J'espère que cela résoudra votre problème.
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" }
};