Search code examples
azure-active-directorymicrosoft-graph-apimicrosoft-teamsazure-ad-graph-apimicrosoft-graph-teams

Create online meeting on behalf of user MS Graph API


In our project we are trying to integrate MS Teams with Web application using MS Graph API.use case is OnlineMeeting for Virtual Events.the attendees may or may not have microsoft account.

Created Azure Ad Account and created new tenant and created new user(given Global Administrator role) and registered new Application and given required API permission users.readWrite.all and onlineMreeting.readWrite.all to Application and Delegated Users.

Initially i was using UserCredientials flow(no manual authentication since its not in our usecase user should be authenticated automatically through java) to get accessToken.since its not recommended to use username and credientials(ROPC flow),so now trying to get accessToken only using clientId and clientSecret using adal4j and i am able to get accesstoken but not able to use token for endpoints with /me/onlineMeeting.since token doesnt contain required permission and scope.

so i had tried to reach endpoint with token got from clientid and secret using /users/{id}/onlineMeeting but it gives error like Application does not have permission to Create online meeting on behalf of this user

referred https://learn.microsoft.com/en-us/graph/cloud-communication-online-meeting-application-access-policy its mentioned to change access-policy.

is there any way to create online meeting on behalf of user without changing access policy? to create onlinemeeting on behalf of user do we need skype business account?

onlinemeeting can created by two endpoint /onlineMeeting & /events

so does /event in calender api require any additional previlages like office365 license to create online meeting?

to implement these usecase whats the microsoft account Type,azure ad account and what are all the license and azure subscription need?

to create onlinemeeting only with dialin do we need any special license


Solution

  • is there any way to create online meeting on behalf of user without changing access policy? to create onlinemeeting on behalf of user do we need skype business account?

    No. We have to set the access policy to use Application token to create online meeting on behalf of a user. To create an online meeting with Microsoft Graph, we don't need skype business account. But if you want to create online meeting through UI / web client, you have to need Teams license. (When I use a new account without being assigned any O365 license, it shows some license error but it's then bypassed. So I think it's a bug. I think we should need skype business account / Teams license to create the online meeting)

    so does /event in calendar api require any additional previlages like office365 license to create online meeting?

    Yes. We need O365 Exchange Online license to create /event.

    to implement these usecase whats the microsoft account Type,azure ad account and what are all the license and azure subscription need?

    In summary, you need at least AAD work or school account and O365 Exchange Online license.

    to create onlinemeeting only with dialin do we need any special license

    Microsoft graph doesn't support creating onlinemeeting only with dialin. See audioConferencing. It's read-only.