通过 REST 响应 Office 365 活动邀请

Responding to an Office 365 event invite via REST

我目前正在努力添加功能以允许用户通过他们的 REST API 响应 Office 365 活动邀请 (accept/maybe/decline)。但是,我不完全确定开发人员应该如何通过 API 使用此功能。

例如,

Google 有一个 attendeesOmitted 标志,您可以将其设置为 true,然后在其正常事件更新端点上传递更新的受邀者。

不过,我在 Office 365 API 上没有看到任何此功能。我尝试了以下代码来更新邀请,但它对用户的状态没有影响(尽管它 return 一条 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);
    }];

有没有人有这方面的经验?任何见解将不胜感激!

会议邀请将在用户的收件箱中显示为 Message。您将使用 Mail API 来访问它。在大多数情况下,它看起来像一封普通的电子邮件,但它有一些额外的属性。

  "MeetingMessageType": "MeetingRequest",
  "Event@odata.navigationLink": "https://outlook.office365.com/api/v1.0/Users('user@domain.com')/Events('AAMkADRm...')"

通过使用 Event@odata.navigationLink 属性 的值,您可以使用日历 API.

访问用户日历上的相应事件

在活动中,您可以使用 AcceptDeclineTentativelyAccept 操作。 (有关完整声明,请参阅 https://outlook.office365.com/api/v1.0/$metadata)。

例如,如果您想接受会议邀请,您可以执行以下操作:

POST /Me/Events('AAMkADRm...')/Accept

{
  "Comment": "I will be there!",
  "SendResponse": true
}

组织者收到文本为 "I will be there!" 的接受消息。