Microsoft团队:使用Graph API跟踪/列出通话中的参与者

时间:2019-07-12 14:33:54

标签: microsoft-graph microsoft-teams

我正在开发一个机器人,该机器人会接听用户的电话,然后邀请其他参与者。跟踪通话中的参与者,无论是由漫游器还是由用户添加的,都是有利的。

一旦漫游器的调用端点收到一条消息,表明该呼叫已建立,该漫游器将通过在app / calls / {id} /参与者/邀请上向图发送请求,并在主体中显示参与者详细信息,从而邀请参与者。这将返回一个包含comms操作详细信息的响应。当被邀请的参与者接受邀请时,主叫端点会收到一条消息,说明该comms操作已删除,并且状态为“已完成”。到目前为止一切顺利-我现在知道该参与者正在通话中。

问题在于,如果通话中的人工参与者邀请某人,则在主叫端点上没有消息表明这一点。应该有吗?机器人有没有办法知道通话中何时邀请了另一个人?

-

一个相关的问题是,当我尝试请求通话中的参与者列表时(如https://docs.microsoft.com/en-us/graph/api/call-list-participants?view=graph-rest-beta所述),响应表明没有参与者。例如:

我向机器人发出呼叫,并且呼叫端点收到ID为471f0300-401f-4c4a-9967-3cee9a052519的传入呼叫的​​通知。机器人在以下位置通过POST应答呼叫:

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

该漫游器随后在主叫端点上收到一条消息,表明已建立呼叫。我可以通过执行GET查询有关此调用的图形:

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

我收到代码200和正在进行的呼叫详细信息的响应,因此该呼叫显然有效且可访问。但是,如果我尝试通过此GET获取参与者列表:

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

我收到代码为200的响应,但正文包含以下内容:

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

这不应该包含参与者列表吗?

-

对于在这里可能做错的任何见解,我将不胜感激。 非常感谢。

1 个答案:

答案 0 :(得分:0)

想要了解更多信息的人,请检查以下内容:

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

我上次检查时已实现/修复了呼叫的电话更新和查询图表的当前参与者列表的功能。