我目前正致力于添加功能,以允许用户通过其REST API响应Office 365事件邀请(接受/可能/拒绝)。但是,我并不完全确定开发人员应该如何通过API使用此功能。
例如,Google有一个attendeesOmitted
标记,您可以设置为true
,然后在其正常事件更新端点上传递更新的被邀请者。
但是,我在Office 365的API上看不到任何此功能。我尝试了以下代码来更新邀请,但它对用户的状态没有影响(尽管它确实返回了200
成功消息):
NSMutableDictionary *params = [ActivityCommon parametersFromEvent:event type:service dateOnly:TRUE]; //Don't need all params
[params setObject:@[@{@"EmailAddress": @{@"Name": invitee[@"Name"],
@"Address": invitee[@"Email"]},
@"Status": @{@"Response": @"Accepted"},
@"Type": @"Required"}] forKey:@"Attendees"];
[networkMgr PATCH:[NSString stringWithFormat:@"events/%@", identifier] parameters:params success:nil failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%@", operation.responseObject);
}];
有没有人有这方面的经验?任何见解都会非常感激!
答案 0 :(得分:3)
会议邀请将在用户的收件箱中显示为Message
。您可以使用Mail API来访问它。在大多数情况下,它看起来像一个普通的电子邮件,但它有一些额外的属性。
"MeetingMessageType": "MeetingRequest",
"Event@odata.navigationLink": "https://outlook.office365.com/api/v1.0/Users('user@domain.com')/Events('AAMkADRm...')"
通过使用Event@odata.navigationLink
属性的值,您可以使用Calendar API访问用户日历上的相应事件。
在活动中,您可以使用Accept
,Decline
或TentativelyAccept
操作。 (有关完整声明,请参阅https://outlook.office365.com/api/v1.0/ $元数据。)
例如,如果您想接受会议邀请,您可以执行以下操作:
POST /Me/Events('AAMkADRm...')/Accept
{
"Comment": "I will be there!",
"SendResponse": true
}
组织者收到带有“我会在那儿!”文本的接受信息。