Microsoft Graph: Tidak dapat memperbarui Tanggal Mulai atau Akhir suatu acara

Aug 18 2020

Saya menggunakan Microsoft Graph .NET SDK untuk memperbarui acara prospek. Kode berikut berhasil memperbarui atribut Subjectdan Bodyacara. Tetapi ketika saya mencoba untuk memperbarui Startdan / atau Endtanggal acara (yang merupakan jenis dateTimeTimeZone ) saya mendapatkan kesalahan seperti di bawah ini:

Pertanyaan : Apa yang mungkin menjadi penyebab kesalahan tersebut, dan bagaimana kita bisa mengatasinya? Harap dicatat bahwa acara tersebut memiliki tanggal Mulai dan Akhir lokal yang valid sebagai 8/21/2020 11:00AMdan 8/21/2020 11:30AMmasing - masing. Sebenarnya, dalam mode debug, VS2019muncul:Start.get returns null

Tangkapan layar kesalahan :

Kode :

  1. Kesalahan di atas terjadi jika saya menghapus komentar pada baris di Start = { DateTime = "2020-08-20T08:30:00.0000000", TimeZone = "UTC" }bawah ini.
  2. Nilai dari authProviderdan "{id}"variabel tidak relevan dengan kesalahan karena kode dengan nilai sebenarnya berfungsi dengan baik tanpa baris Start =....kode.

...

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

Jawaban

1 GlenScales Aug 20 2020 at 00:12

Anda memerlukan sesuatu seperti ini karena tipe objek yang digunakan di properti

            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

Anda perlu menambahkan tanggal dalam format di bawah ini. Semoga ini akan menyelesaikan masalah Anda.

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