If I schedule an event in Outlook and tick the Teams meeting option, I can edit the Teams meeting from the Teams' calendar and assign one of the attendees as presenter and they are then able to manage and breakout rooms.
I need to do the same thing using code and API calls:
I have an application with proper application rights in Azure but for my tests I am using Postman with these same application rights
I am creating an event in Outlook using the create event endpoint as documented here https://learn.microsoft.com/en-us/graph/api/calendar-post-events?view=graph-rest-1.0&tabs=http
And I am using below setting to create a Teams meeting with it
"isOnlineMeeting": true,
"onlineMeetingProvider": "teamsForBusiness"
I am using a service account as the organizer of the event and I need one of the attendees of the event (which is actually someone of authority) to be able to breakout rooms during the Teams meeting. This attendee belongs to the same tenant as the servcie account in AD.
When I create the event, I get the Join URL of the Teams meeting in the response which allows me to get the Teams meeting as documented here https://learn.microsoft.com/fr-fr/graph/api/onlinemeeting-get?view=graph-rest-1.0&tabs=http
From there I can get the online meeting's ID and use it to PATCH it as documented here https://learn.microsoft.com/en-us/graph/api/onlinemeeting-update?view=graph-rest-1.0&tabs=http to set my attendee as "presenter" with the request body:
{"allowedPresenters": "roleIsPresenter",
"participants":{
"attendees":[
{
"identity":
{"@odata.type":"#microsoft.graph.identitySet"},
"upn":"desiredPresenter@myCompany.eu",
"role":"presenter"}
]
}
}
And it seems to be effective as I do see the attendee as "presenter" in the response, before this call they had the "attendee" role:
"attendees": [
{
"upn": "desiredPresenter@myCompany.eu",
"role": "presenter",
But it doesn't actually change anything: when joining the Teams meeting this user is still unable to breakout rooms.
Also, I noted that when I set them as presenter manually using Teams' calendar, it does work yet absolutely nothing changes in the online meeting's details when calling the Get onlineMeeting endpoint https://learn.microsoft.com/en-us/graph/api/onlinemeeting-get?view=graph-rest-1.0&tabs=http
How could I achieve this?