Office Calendar API - 如何将用户引导至现有事件

时间:2015-11-16 17:56:46

标签: office365 office365api

daemon/service applicationOutlook Calendar REST API一起使用,我希望能够让用户参加由其他用户创建的现有活动。主动用户不会事先被邀请。换句话说,我想在一个步骤中对用户进行邀请以及用户接受它进行编程。

在阅读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中所示:

    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}

有没有办法可以做得更好?我觉得有点麻烦,我必须下载整个与会者列表,添加一个新的与会者,然后上传整个(扩展)列表。这对我来说似乎不是最好的做法...

提前感谢您的建议!

1 个答案:

答案 0 :(得分:0)

您需要调用更新事件并将新与会者添加到与会者列表中。添加此与会者后,将使用添加的与会者更新对象。

更新活动网址: 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