Microsoft Graph:イベントの開始日または終了日を更新できません

Aug 18 2020

Outlookイベントを更新するためにMicrosoftGraph .NETSDKを使用しています。次のコードは、イベントのSubject、およびBody属性を正常に更新します。しかし、イベントの日付StartEnd日付(dateTimeTimeZoneタイプ)を更新しようとすると、次のエラーが発生します。

質問:エラーの原因は何でしょうか。また、どのように解決できますか?イベントには8/21/2020 11:00AM8/21/2020 11:30AMそれぞれとして有効なローカルの開始日と終了日があることに注意してください。実際、デバッグモードでVS2019は、次のように表示されます。Start.get returns null

エラーのスクリーンショット

コード

  1. Start = { DateTime = "2020-08-20T08:30:00.0000000", TimeZone = "UTC" }以下の行のコメントを外すと、上記のエラーが発生します。
  2. authProvider"{id}"変数の値は、実際の値を持つコードがコードの行がなくても正常に機能するため、エラーとはそれほど関係がありませんStart =....

..。

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);

回答

1 GlenScales Aug 20 2020 at 00:12

プロパティで使用されているオブジェクトタイプのため、代わりにこのようなものが必要です

            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" } 
        };
1 RajeevKumar Aug 20 2020 at 04:06

以下の形式で日付を追加する必要があります。それがあなたの問題を解決することを願っています。

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" } 
    };