1

通过 Skype for Business Web SDK 创建会议时,该conversation对象包含一个participants列表,其中包含代表该会议参与者详细信息的对象。这是有效的,我们可以看到我们期望的所有参与者。

但是,当加入其他人通过 Skype for Business Web SDK 创建的会议时,participants列表始终为空,尽管知道有其他用户连接到该会议。

这是 SDK 中的错误吗?任何帮助,将不胜感激!

编辑:建议后更新更多信息

我们conversation使用以下代码检索对象(注意我们通过 URI 检索它):

app.conversationsManager.getConversationByUri(uri);

以下是对该conversation对象进行试验的输出:

conversation.participants()返回[]

conversation.participants返回function [Collection: 0 items]

conversation.participants.get().then(function(participants) {
    console.log(participants)
})

日志Promise {task_ccf0d98018eaf: Task}

4

2 回答 2

1

getConversationByUri实际上并没有加入会议。它只是检索一个对话模型。您需要实际启动其中一项服务(conversation.chatService.start()conversation.audioService.start()等)才能加入会议。加入会议后,参与者集合将与会议中的人员一起更新。

于 2016-07-27T00:14:10.873 回答
0

有一些事情可能会阻止在对话/会议中看到参与者:

  • 事件尚未发布,表明谁是活跃的
  • 包含参与者的集合尚未更新(它是延迟加载的)

如果您想获得确切的计数,最好通过在集合上发出类似于以下内容的请求来提供服务:

conv.participants.get().then(function (participants) {
    // participants is an array of currently active persons in the conversation/meeting
});

您还可以通过收听参与者集合上添加/删除的事件来在本地跟踪。

conv.participants.added(function (person) {
    // add to local list...
});

conv.participants.removed(function (person) {
    // remove from local list...
});

如果不是这种情况,那么了解您使用什么代码来观察参与者的空列表会很有趣。

于 2016-07-01T05:22:22.890 回答