Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs
Hi Trí Lê Đức
According to my research and understanding based on your description, I would like to share some information that I hope it will be helpful:
Delegated access for participants (non-organizers)
At present, retrieving meeting recording content using delegated permissions is only supported when the signed-in user is the meeting organizer.
Meeting participants do not have permission to download recording content through Microsoft Graph APIs, even if they attended the meeting. Get callRecording - Microsoft Graph v1.0 | Microsoft Learn
As such, currently there is no supported method to retrieve recording content via delegated permissions for non-organizer users.
Application permission scope (OnlineMeetingRecording.Read.All)
The application permission:
-
OnlineMeetingRecording.Read.Allallows access to meeting recordings across the organization. (Microsoft Graph permissions reference - Microsoft Graph | Microsoft Learn)
This is inherently a broad, tenant-wide permission, and your concern about over-privileging is understood.
Access constraints
There are some mechanisms to reduce scope, but each has limitations:
- Application Access Policy: This allows the app to act only on behalf of specific users (for example, a defined set of organizers). Configure an application access policy using the cloud communications API - Microsoft Graph | Micro… However, in scenarios where most or all employees can organize meetings, this would likely require including a large portion (or all) of users. In practice, this means the policy provides administrative scoping but does not significantly reduce access across the tenant.
- Resource-Specific Consent (RSC): This enables a more granular, meeting-level model where access is granted within the context of a specific meeting. This approach requires a Teams app and consent at the meeting level, but it avoids granting tenant-wide access.
Based on current capabilities, here are some recommendations you can consider:
- Application permission + application access policy: Suitable for service scenarios where recordings need to be collected centrally, but it remains organizer-based and may still be broad in practice depending on the tenant setup.
- Resource-Specific Consent (RSC): Provides the most granular control currently available, as access can be limited to specific meetings where the app is installed and consented.
- Access via storage layer (OneDrive / SharePoint): Since recordings are stored in OneDrive or SharePoint, accessing them as files using delegated permissions aligned with user access can better reflect participant-level permissions, depending on how sharing is configured.
Delegated access for participants to retrieve meeting recording content is not supported today, and application permissions are required for cross-user scenarios. While application access policies can limit access to specific users, their effectiveness may be limited in environments where most users can act as organizers. For more granular control aligned with least-privilege principles, approaches such as resource-specific consent (RSC) or accessing recordings via their OneDrive or SharePoint storage may be more suitable.
I hope this information helps.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.