通过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}
答案 0 :(得分:1)
getConversationByUri
实际上并未加入会议。它只是检索一个对话模型。您需要实际启动其中一项服务(conversation.chatService.start()
,conversation.audioService.start()
等)才能加入会议。加入会议后,与会者将收集与会者的最新信息。
答案 1 :(得分: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...
});
如果不是这种情况,那么知道用什么代码来观察参与者的空列表会很有趣。