Skype для бизнеса Web SDK — объект участников пуст

При создании собрания с помощью Skype для бизнеса Web SDK объект conversation содержит список participants, который содержит объекты, представляющие сведения об участниках этого собрания. Это работает, и мы можем видеть всех участников, которых ожидали.

Однако при присоединении к собранию, которое кто-то создал с помощью Skype для бизнеса 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}


person eggm0n    schedule 30.06.2016    source источник


Ответы (2)


getConversationByUri на самом деле не присоединяется к собранию. Он просто извлекает модель разговора. Вам нужно запустить одну из служб (conversation.chatService.start(), conversation.audioService.start() и т. д.), чтобы присоединиться к собранию. После того, как вы присоединитесь к собранию, коллекция участников будет обновлена ​​с людьми, участвующими в собрании.

person Sid - Microsoft    schedule 27.07.2016

Есть несколько вещей, которые могут помешать видеть участников разговора/встречи:

  • События не опубликованы с указанием, кто активен
  • Коллекция участников не обновилась (ленивая загрузка)

Если вы хотите получить точное количество, вам лучше всего будет сделать запрос на коллекцию, подобный:

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...
});

Если это не так, было бы интересно узнать, какой код вы используете для наблюдения за пустым списком участников.

person ShelbyZ    schedule 01.07.2016