将守护程序/服务应用程序与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}
有什么办法可以做得更好吗?我发现这有点麻烦,我必须下载整个与会者列表,向其中添加新的与会者,然后上传整个(扩展)列表。对我来说这似乎不是最佳实践......
提前感谢您的建议!
您需要调用更新活动并将新的与会者添加到与会者列表中。添加此与会者后,对象将随添加的与会者一起更新。
在请求正文中,更新与会者列表,因为它是可写属性: https://msdn.microsoft.com/office/office365/APi/complex-types-for-mail-contacts-calendar#EventResource