How can I access the Teams Meeting Attendance Report using the RSC permission OnlineMeetingParticipant.Read.Chat

Daniel Mitchell 0 Reputation points
2023-04-21T08:44:31.59+00:00

Objective

When a teams video call finishes, get a list of users who attended the meeting. (ideally with the joined and left times)

Approach

In a teams app manifest file you can add Resource-specific consent ‎(‎RSC) Application Permissions: ChannelMeetingParticipant.Read.Group - Read the participants of this team's channel meetings. - Allows the app to read participant information, including name, role, id, joined and left times, of channel meetings associated with this team, without a signed-in user.

OnlineMeetingParticipant.Read.Chat - Read the participants of the meetings associated with this chat. - Allows the app to read participant information, including name, role, id, joined and left times, of meetings associated with this chat, without a signed-in user.

Using a teams app with the ChannelMeeting.ReadBasic.Group and OnlineMeeting.ReadBasic.Chat permission I get a notification when a meeting ends.

Using: var meetingInfo = await TeamsInfo.GetMeetingInfoAsync(turnContext);

I can get the: meetingInfo.Details.MsGraphResourceId which gives me a value that looks like: MSpjY2VhZjE3My04MjBk...Truncated...ZWFkLnYy

Questions/Help Needed

How do I make use of the RSC permissions granted in the Teams App manifest to now request the participants who attended the meeting? What API call do I need to make? The documentation for this seems lacking?

The RSC permission for getting meeting participants is referred to here: https://learn.microsoft.com/en-us/microsoftteams/platform/graph-api/rsc/resource-specific-consent but I am unable to find out how I can make use of this permission to make graph calls?

Other comments and posts refer to getting Online Meeting Artifacts (Giving access to recordings, transcripts and attendance report) however this requires the Teams Admin to grant the very broad permission to OnlineMeetingArtifact.Read.All whereas I believe I should be able to do this via permissions granted via RSC which would be granted on a per channel or meeting basis when a user adds the app rather than having access to all meetings. - Also I only want access to the attendees and avoid asking for permissions that give access to meeting recordings which could contain sensitive information.

Can you please advise or direct me to where I can find help on how to make use of the ChannelMeetingParticipant.Read.Group and OnlineMeetingParticipant.Read.Chat permission to access the meeting attendees.

Microsoft Teams Development
Microsoft Teams Development
Microsoft Teams: A Microsoft customizable chat-based workspace.Development: The process of researching, productizing, and refining new or existing technologies.
2,946 questions
{count} votes