How to: Get the Meeting Attendance Report of a meeting using Graph API
There’s a new API call which has been added to the Graph API recently for Microsoft Teams meetings. This allows you to retrieve the “Meeting Attendance Report” for a specified meeting:
- who the meeting organiser is, and their attendance time
- each individual attendee, their role, and their attendance time
- where a user leaves and re-joins, the intervals of attendance (start/end times)
- for each attendee: tenant Id, display name, user Id
Meeting attendance reports are available for all meetings apart from live events. You can’t get to them until the meeting has ended, and you need to be the meeting organiser to access them.
(for live events, there are separate API calls to get recordings and attendee reports)
Permissions needed:Â OnlineMeetings.Read or OnlineMeetings.ReadWrite
You can use Application permissions, but only through the use of an application access policy.
How to use
For a specified meeting, call /meetingAttendanceReport, for example:
GET https://graph.microsoft.com/beta/me/onlineMeetings/MSpkYz..R1Yy/meetingAttendanceReport
This API call is in Beta right now, and so should not be considered for production use.
More details on the Microsoft Docs site.
This new feature seems not working right now with application permissions and application access policy (Code: Forbidden).
Works great with delegated permissions.
Hi!
Thanks for a great article!
I managed to get this working using the Graph Explorer, but when I use the keys for my application (tried both delegated and application-permissions) I get “forbidden” back from the API.
Are you sure that this should work with Application permissions? Have you tested it? =D
Cheers!
You need to have delegated permissions to get this attendance report. Is there any way to get it using application permissions?
Is there a way to automatically trigger the retrieval of the attendance report? I can’t seem to find any sort of way to set up a subscription to a “meeting ended” event.
Hi Tom,
Thanks so much for this article. How does one go about finding the meeting ID for an Outlook meeting.
Warm Regards,
Aryan
Really useful article. Thanks for sharing!
Are you able to clarify a something for me:
“you need to be the meeting organiser to access them.”
Does this mean I cannot access the report via application permissions on behalf of a user who has shared their calendar with me (the admin)?