Monitor ongoing meetings in Microsoft Teams through Graph API

Viewed 416

I'm using the Microsoft Graph API beta to create online meetings with an application token. I use this end point to create the meetings.

POST /users/{userId}/onlineMeetings/createOrGet

Now we are looking for a way to monitor these meetings. We need to know if the meeting has started and who is in the meeting at the moment.

Call records are only available after the meeting has finished.

I also tried the attendee report endpoint, but it throws an error:

GET /users/{userId}/onlineMeetings/{meetingId}/attendeeReport

"error": {
    "code": "InternalServerError",
    "message": "Object reference not set to an instance of an object.",
    "innerError": {
        "date": "2021-01-14T09:08:34",
        "request-id": "adec0849-c046-4893-9a21-c9a61703975d",
        "client-request-id": "adec0849-c046-4893-9a21-c9a61703975d"
    }
}

Is there any way of getting this data of an ongoing Microsoft Teams meeting. Using the Graph API, a bot or a Teams app?

2 Answers

This is possible, if you're prepared to create a bot. You'd need to have the bot join the call using the Calls API (this requires application permissions and Admin consent).

Once you've joined the call, you can then monitor the participants list and receive events when participants join. There is an SDK that makes this a bit easier than using raw REST Calls - more info here

This is slightly more complicated than just making graph calls, as you'll need to expose an HTTP endpoint to the internet so that Graph can call you with participant changes. But at this point, I think it's the only way to achieve your goal.

Re: Monitor ongoing meetings in Microsoft Teams through Graph API

Coping the answer for better visibility.

This isn't supported by Graph API at the moment, You can raise a user voice for this here.

Related