将daemon/service application与Outlook 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}
有没有办法可以做得更好?我觉得有点麻烦,我必须下载整个与会者列表,添加一个新的与会者,然后上传整个(扩展)列表。这对我来说似乎不是最好的做法...
提前感谢您的建议!
答案 0 :(得分:0)
您需要调用更新事件并将新与会者添加到与会者列表中。添加此与会者后,将使用添加的与会者更新对象。
在请求正文中,更新与会者列表,因为它是可写的属性: https://msdn.microsoft.com/office/office365/APi/complex-types-for-mail-contacts-calendar#EventResource