简体   繁体   中英

Microsoft Teams: Tracking / listing the participants in a call using Graph API

I am developing a bot which takes a call from a user then invites other participants. It would be advantageous to keep track of the participants in a call, whether they were added by the bot or the user.

Once the bot's calling endpoint receives a message that the call has been established, the bot invites participants by making a request to the graph on app/calls/{id}/participants/invite with the participant details in the body. This returns a response containing the details of a comms operation. When the invited participant accepts the invitation, the calling endpoint receives a message that the comms operation was deleted and the status is "completed". So far so good- I now know that the participant is in the call.

The problem is that if a human participant in the call invites someone, there is no message to indicate this on the calling endpoint. Should there be? Is there a way for the bot to know when a person has been invited by another person in the call?

-

A related issue is that when I try to request the list of participants in a call (as detailed on https://docs.microsoft.com/en-us/graph/api/call-list-participants?view=graph-rest-beta ) the response suggests there are none. For example:

I place a call to the bot, and the calling endpoint receives a notification of an incoming call with id 471f0300-401f-4c4a-9967-3cee9a052519. The bot answers the call with a POST on:

https://graph.microsoft.com/beta/app/calls/471f0300-401f-4c4a-9967-3cee9a052519/answer

The bot subsequently receives a message on the calling endpoint that the call has been established. I can query the graph about this call by making a GET:

https://graph.microsoft.com/beta/app/calls/471f0300-401f-4c4a-9967-3cee9a052519

I get a response with code 200 and the details of the call in progress, so the call is clearly valid and accessible. However, if I attempt to get the list of participants with this GET:

https://graph.microsoft.com/beta/app/calls/471f0300-401f-4c4a-9967-3cee9a052519/participants

I get a response with code 200, but the body contains the following:

{"@odata.context":"https://graph.microsoft.com/beta/$metadata#app/calls('471f0300-401f-4c4a-9967-3cee9a052519')/participants","value":[]}

Shouldn't this contain the list of participants?

-

I'd appreciate any insight on what I might be doing wrong here. Thanks a lot.

Anyone who's after more information about this, please check the following:

https://github.com/microsoftgraph/microsoft-graph-comms-samples/issues/102

Roster updates for a call and the ability to query the graph for a list of current participants had been implemented/fixed last time I checked.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM