0

Outlook Calendar REST APIでデーモン/サービス アプリケーションを使用して、別のユーザーが作成した既存のイベントにユーザーを参加させたいと考えています。参加ユーザーは事前に招待されません。つまり、ユーザーをイベントに招待することと、ユーザーがそれを受け入れることの両方を 1 つのステップでプログラムしたいと考えています。

API ドキュメントを読んでいるように、これを行う唯一の方法は次のとおりです。

1) イベントの出席者配列を取得する

GET https://outlook.office.com/api/users/{eventauthor_mail}/events/{event_id}

出席者は配列になります。

"Attendees": [
      {
        "EmailAddress": {
          "Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
          "Name": "Janet Schorr"
        },
        "Status": {
          "Response": "None",
          "Time": "0001-01-01T00:00:00Z"
        },
        "Type": "Required"
      },
      ...
    ],

2) 出席者配列を拡張する

次に、PHP で次のように、attendees 配列を拡張する必要があります。

    array_push($attendees, array(
      "EmailAddress" => array(
        "Address" => $newAttendeeMail,
        "Name" => $newAttendeeName
      ),
      "Status" => array(
        "Response" => $newAttendeeStatus,
        "Time" => $newAttendeeTime
      ),
      "Type" => $newAttendeeType
    ));

3) イベントを更新する

application/json本文に拡張された出席者配列を含むリクエストを送信します。

PATCH https://outlook.office.com/api/{version}/users/{eventauthor_mail}/events/{event_id}

これをもっとうまくやる方法はありますか?出席者リスト全体をダウンロードし、そこに新しい出席者を追加してから、(拡張された) リスト全体をアップロードしなければならないのは少し面倒です。これは私にとってベストプラクティスのようには思えません...

アドバイスありがとうございます!

4

1 に答える 1

0

Update Event を呼び出して、新しい出席者を出席者リストに追加する必要があります。この出席者を追加すると、追加された出席者でオブジェクトが更新されます。

イベント URL の更新: https://msdn.microsoft.com/office/office365/APi/complex-types-for-mail-contacts-calendar#EventResource

要求の本文で、書き込み可能なプロパティであるため、出席者リストを更新します: https://msdn.microsoft.com/office/office365/APi/complex-types-for-mail-contacts-calendar#EventResource

于 2015-11-16T18:27:24.547 に答える