msteam:当团队会议正在进行时,我如何获得实时参与者数据(实时)?



在这里,我正在构建团队应用程序,该应用程序能够在团队会议上运行。但是应用程序的行为是这样的,我需要在包括主机在内的列表中找到一个或挂载与会者号码。这就是为什么我需要一个实时会议参与者数据,无论是来自团队SDK/GRAPHAPI还是来自其他任何地方。

我尝试使用live-share SDK,但无法获得它。我也尝试了GRAPH_API,但是GRAPH_API提供的是静态数据而不是动态的

您可以订阅在线会议的更改通知。你可以得到下面的事件通知:

  • CallStarted -会议开始时发生。
  • CallEnded -会议结束时发生。
  • CallRosterUpdate -当参与者加入或退出会议电话。

在CallRosterUpdate中,您将获得加入和退出的活动参与者列表。

响应示例

{
  "@odata.type":"#Microsoft.Graph.onlineMeeting",
  "@odata.id":"communications/onlineMeetings?$filter=joinWebUrl+eq+'{joinWebUrl}'",
  "id":"communications/onlineMeetings?$filter=joinWebUrl+eq+'{joinWebUrl}'",
  "eventType":"Microsoft.Communication.CallRosterUpdate",
  "eventDateTime":"2022-02-28T00:00:00.0000000Z",
  "activeParticipants@joined": [
    {
      "Id": "a4d67b60-56a5-4202-9f1c-f123ff40621e",
      "Identity": 
      {
        "User": 
        {
          "Id": "f92ca67f-0564-414b-8caa-8c95b8099928",
          "DisplayName": "user display name",
          "TenantId": "85045508-f5bd-405e-a553-52700f86e29c"
        }
      }
    }
  ],
  "activeParticipants@exited": [
    {
      "Id": "11141402-1b62-4795-b540-4ffee8544231",
      "Identity": 
      {
        "AzureCommunicationServicesUser": 
        {
          "AzureCommunicationServicesResourceId": "534c244d-49f8-47a1-9e8e-70d115a2ef4d",
          "Id": "8:acs:534c244d-49f8-47a1-9e8e-70d115a2ef4d_28f01a7b-42cd-4e37-ae1a-bd653377f4b7",
          "DisplayName": "acs user display name"
        }
      }
    }
  ]
}

请注意,目前它只支持测试版。不支持在生产应用程序中使用这些api。

Ref Doc: https://learn.microsoft.com/en-us/graph/changenotifications-for-onlinemeeting

最新更新