使用带有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}
有没有办法让我做得更好?我发现我必须下载整个与会者列表,向其中添加新与会者,然后将整个(扩展的)列表上传回来,这有点麻烦。这对我来说似乎不是最佳实践......
提前感谢您的建议!