Microsoft Graph: impossibile aggiornare la data di inizio o di fine di un evento
Sto usando Microsoft Graph .NET SDK per aggiornare gli eventi di Outlook. Il codice seguente aggiorna correttamente gli attributi Subject
e Body
di un evento. Ma quando provo ad aggiornare le Start
e / o le End
date dell'evento (che sono di tipo dateTimeTimeZone ) ottengo l'errore mostrato di seguito:
Domanda : quale potrebbe essere la causa dell'errore e come possiamo risolverlo? Tieni presente che l'evento ha date di inizio e fine locali valide rispettivamente come 8/21/2020 11:00AM
e 8/21/2020 11:30AM
. In realtà, in modalità debug, VS2019
mostra:Start.get returns null
Screenshot dell'errore :

Codice :
- L'errore sopra si verifica se rimuovo il commento dalla riga
Start = { DateTime = "2020-08-20T08:30:00.0000000", TimeZone = "UTC" }
sottostante. - I valori di
authProvider
e"{id}"
variabili non sono rilevanti per l'errore in quanto il codice con i valori reali funziona correttamente senza la rigaStart =....
del codice.
...
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);
Risposte
Hai bisogno di qualcosa di simile invece a causa del tipo di oggetto utilizzato nella proprietà
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" }
};
È necessario aggiungere la data nel formato seguente. Spero che risolverà il tuo 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" }
};