I'm currently working on adding functionality to allow a user to respond to an Office 365 event invitation (accept/maybe/decline) via their REST API. I'm not entirely sure how developers are supposed to utilize this functionality via the API, however.
Google, for example, has a attendeesOmitted
flag that you can set to true
, then pass in the updated invitees on their normal event update endpoint.
I don't see any of this functionality on Office 365's API, though. I have tried the following code to update invitations, but it has no effect on the status of the user (though it does return a 200
success message):
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);
}];
Has anyone had any experience with this? Any insights would be much appreciated!
The meeting invitation will show up as a
Message
in the user's inbox. You would use the Mail API to access this. For the most part it looks like a normal email, but it has a few extra properties.By using the value of the
[email protected]
property, you can access the corresponding Event on the user's calendar using the Calendar API.On the Event, you can use the
Accept
,Decline
, orTentativelyAccept
actions. (See https://outlook.office365.com/api/v1.0/$metadata for the full declaration).So for example, if you want to accept the meeting invite, you would do something like:
The organizer gets the acceptance message with the text "I will be there!".