如何使用应用程序权限从团队会议中检索出席报告

问题描述 投票:0回答:1

我刚开始使用 Microsoft Graph API 和 Azure。我想检索组织中所有 Teams 会议的出席报告,但我很难理解如何使用应用程序权限(仅应用程序身份验证)来执行此操作。

据我所知,大多数示例和文档都讨论委派权限,即用户登录的情况,但我希望为整个租户自动执行此过程。

是否可以通过申请权限获取考勤报告? 如果是,我需要在 Azure 中设置哪些 API 权限? 我应该使用哪些 Microsoft Graph API 端点或方法?

我将不胜感激任何帮助或示例,因为我仍在学习这一切是如何工作的。

azure microsoft-graph-api microsoft-teams
1个回答
0
投票

使用应用程序权限检索我的组织中所有 Teams 会议的出席报告。

注册单租户 Microsoft Entra ID 应用程序,要检索会议出席报告,添加了

OnlineMeetingArtifact.Read.All
应用程序类型 API 权限和授予管理员同意,如下所示:

enter image description here

请参阅此 MsDoc ,确保创建和配置应用程序访问策略,并通过使用 Powershell 使用管理员帐户登录来使用 Application 类型的权限,并授予访问权限,如下所示:

Install-Module -Name MicrosoftTeams -Force -AllowClobber

Import-Module MicrosoftTeams
Connect-MicrosoftTeams

New-CsApplicationAccessPolicy -Identity Demo-policy -AppIds "<app-id>" -Description "Allow access to Teams App"

Grant-CsApplicationAccessPolicy -PolicyName Demo-policy -Global

enter image description here

创建应用程序访问策略后,要访问应用程序类型 API 权限,需要使用客户端凭据流程使用以下参数生成访问令牌:

GET https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token

client_id = <client_id>
client_secret= <client secret>
grant_type = client_credentials
scope = https://graph.microsoft.com/.default

enter image description here

使用相同的访问令牌,要检索要检查与会者报告的在线会议数据,您必须有

meeting ID
或使用
joinWebUrl
筛选用户是组织者或与会者。

GET https://graph.microsoft.com/v1.0/users/<user-id>/onlineMeetings?$filter=joinUrl eq https://teams.microsoft.com/l/meetup-join/.....

GET https://graph.microsoft.com/v1.0/users/<user-id>/onlineMeetings/<meeting-id>/

enter image description here

要使用相同的访问令牌检索

meetingAttendanceReport
的列表,请使用以下查询:

GET https://graph.microsoft.com/v1.0/users/<user-id>/onlineMeetings/<online-meetingId>/attendanceReports

enter image description here

参考资料:

检索会议出席报告的API权限

检索在线会议API权限 - 应用程序类型

© www.soinside.com 2019 - 2024. All rights reserved.