Hello Keisuke Ueda,
I understand you are trying to retrieve the meeting transcript and recording using Microsoft Graph API after receiving change notifications.
You're calling the endpoint with app-only authentication and encountering an error stating that the application is not allowed to access the user.
I faced the same error initially when I tried to fetch transcripts without setting up an Application Access Policy:
This happens because, with app-only authentication, Microsoft Graph requires a policy to allow your app to access data on behalf of the meeting organizer.
Even though your app includes permissions like OnlineMeetingTranscript.Read.Chat
, those only work when the app is installed in the Teams chat. They do not apply to calls using the /users/...
API path.
To resolve this, ensure your app has the following Application permissions granted with admin consent in Microsoft Entra ID:
After that, use below PowerShell script to create and assign the Application Access Policy. Make sure to run it while connected to Microsoft Teams using an admin account:
Install-Module -Name MicrosoftTeams -Force -AllowClobber
Connect-MicrosoftTeams
New-CsApplicationAccessPolicy -Identity "MeetingPolicy" -AppIds "YourAppId"
Grant-CsApplicationAccessPolicy -PolicyName "MeetingPolicy" -Identity "UserObjectId"
Once applied, it may take up to 30 minutes for the policy to take effect. After that, your API call should work if the user in the URL is the meeting organizer and is covered by the policy.
You can refer to the following Microsoft documentation for more details:
Let me know if you have any other questions or need any further assistance.
Hope this helps!
If this answers your query, do click Accept Answer
and Yes
for was this answer helpful, which may help members with similar questions.
If you have any other questions or are still experiencing issues, feel free to ask in the "comments" section, and I'd be happy to help.