Microsoft Graph: ไม่สามารถอัปเดตวันที่เริ่มต้นหรือวันที่สิ้นสุดของเหตุการณ์ได้

Aug 18 2020

ฉันใช้Microsoft Graph .NET SDKเพื่ออัปเดตเหตุการณ์ของ Outlook รหัสต่อไปนี้อัปเดตSubjectและBodyแอตทริบิวต์ของเหตุการณ์ได้สำเร็จ แต่เมื่อฉันพยายามอัปเดตStartและ / หรือEndวันที่ของเหตุการณ์ (ซึ่งเป็นประเภทdateTimeTimeZone ) ฉันได้รับข้อผิดพลาดที่แสดงด้านล่าง:

คำถาม : อะไรคือสาเหตุของข้อผิดพลาดและเราจะแก้ไขได้อย่างไร? โปรดทราบว่าเหตุการณ์ที่มีผลบังคับใช้ในท้องถิ่นเริ่มต้นและสิ้นสุดวันที่เป็น8/21/2020 11:00AMและ8/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" } 
    };