Office 日历 API - 如何让用户参加现有活动

问题描述 投票:0回答:1

守护程序/服务应用程序Outlook Calendar REST API结合使用,我希望能够让用户参加由其他用户创建的现有活动。事先未邀请出席的用户参加。换句话说,我想一步完成邀请用户参加活动和用户接受活动的编程。

当我阅读 API 文档时,我能做到这一点的唯一方法是:

1)获取活动的参加者数组

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

参加者将是一个数组:

"Attendees": [
      {
        "EmailAddress": {
          "Address": "[email protected]",
          "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}

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

提前感谢您的建议!

php office365 office365api
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

© www.soinside.com 2019 - 2024. All rights reserved.