0

使用带有Outlook 日历 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}

有没有办法让我做得更好?我发现我必须下载整个与会者列表,向其中添加新与会者,然后将整个(扩展的)列表上传回来,这有点麻烦。这对我来说似乎不是最佳实践......

提前感谢您的建议!

4

1 回答 1

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

于 2015-11-16T18:27:24.547 回答