Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
- Запущен процесс выведения из употребления API
TeamsInfo.getMembersиTeamsInfo.GetMembersAsync. Изначально они массово отклоняют запросы в результате регулирования, ограничивая производительность пятью запросами в минуту, и возвращают не более 10 000 участников на команду. В результате, когда команда достигает определенного размера, полный ее список получить уже невозможно. - Необходимо обновить пакет SDK Bot Framework до версии 4.10 или более поздней и переключиться на конечные точки API с разбивкой на страницы или API одного пользователя
TeamsInfo.GetMemberAsync. Это относится и к вашему боту, даже если вы не используете эти API напрямую, так как старые пакеты SDK вызывают эти API при обработке события membersAdded. Список предстоящих изменений см. в разделе об изменениях API.
Если вы хотите получить сведения для одного или нескольких участников чата или команды, можно использовать API TeamsInfo.GetMembersAsyncбота Microsoft Teams для C#, TeamsInfo.getMembers TypeScript или Node.js API. Дополнительные сведения см. в разделе получение личного состава группы или пользовательского профиля.
Эти API имеют следующие недостатки:
- Для больших команд производительность низкая, а время ожидания более вероятно: максимальный размер команды увеличился с момента выпуска Teams. Как
GetMembersAsyncилиgetMembersвозвращает весь список участников, вызов API требует много времени, чтобы вернуться для больших команд, и для вызова обычно истекает время ожидания, и вы должны повторить попытку. - Получить сведения о профиле для одного пользователя сложно. Чтобы получить сведения о профиле для одного пользователя, необходимо получить весь список участников, а затем найти нужный. В пакете SDK Для Bot Framework есть вспомогательная функция, которая упрощает ее, но она не эффективна.
С появлением команд для всей организации необходимо лучше согласовать эти API с элементами управления конфиденциальностью Microsoft 365. Боты, используемые в больших командах, могут получать базовые сведения о профиле, аналогичные разрешению User.ReadBasic.All Microsoft Graph. Администраторы в значительной степени контролируют, какие приложения и боты можно использовать в клиенте, но эти параметры отличаются от Microsoft Graph.
Этот фрагмент кода представляет собой пример JSON-представления того, что возвращают боты API Teams:
[{
"id": "29:1GcS4EyB_oSI8A88XmWBN7NJFyMqe3QGnJdgLfFGkJnVelzRGos0bPbpsfJjcbAD22bmKc4GMbrY2g4JDrrA8vM06X1-cHHle4zOE6U4ttcc",
"name": "Anon1 (Guest)",
"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47",
"userRole": "anonymous"
}, {
"id": "29:1bSnHZ7Js2STWrgk6ScEErLk1Lp2zQuD5H2qQ960rtvstKp8tKLl-3r8b6DoW0QxZimuTxk_kupZ1DBMpvIQQUAZL-PNj0EORDvRZXy8kvWk",
"objectId": "76b0b09f-d410-48fd-993e-84da521a597b",
"givenName": "John",
"surname": "Patterson",
"email": "johnp@fabrikam.com",
"userPrincipalName": "johnp@fabrikam.com",
"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47",
"userRole": "user"
}, {
"id": "29:1URzNQM1x1PNMr1D7L5_lFe6qF6gEfAbkdG8_BUxOW2mTKryQqEZtBTqDt10-MghkzjYDuUj4KG6nvg5lFAyjOLiGJ4jzhb99WrnI7XKriCs",
"objectId": "6b7b3b2a-2c4b-4175-8582-41c9e685c1b5",
"givenName": "Rick",
"surname": "Stevens",
"email": "Rick.Stevens@fabrikam.com",
"userPrincipalName": "rstevens@fabrikam.com",
"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47",
"userRole": "user"
}]
Изменения API
Ниже описаны предстоящие изменения API:
Для получения сведений о профиле для участников чата или группы
TeamsInfo.GetPagedMembersAsyncсоздается новый API. Этот API теперь доступен в пакете SDK Bot Framework начиная с версии 4.8. Для разработки во всех остальных версиях используйте методGetConversationPagedMembers.Примечание.
Обновите пакет SDK для Microsoft Bot Framework до последней версии следующим образом:
- Пакет SDK Bot Framework версии 3: обновление до версии 3.30.2 или более поздней.
- Пакет SDK Bot Framework версии 4: обновление до версии 4.8 или более поздней.
Для получения сведений о профиле одного пользователя
TeamsInfo.GetMemberAsyncсоздается новый API. Он принимает идентификатор команды или чата и имя участника-пользователя, то естьuserPrincipalName, Microsoft Entra идентификаторobjectIdобъекта или идентификаторidпользователя Teams в качестве параметров и возвращает сведения о профиле для этого пользователя.Примечание.
objectIdзаменяется наaadObjectIdв соответствии с тем, что вызывается в объекте сообщенияActivityBot Framework. Новый API доступен начиная с версии 4.8 пакета SDK Bot Framework. Он также доступен в расширении Пакета SDK Bot Framework Teams 3.x. Тем временем вы можете использовать конечную точку REST.TeamsInfo.GetMembersAsyncв C# иTeamsInfo.getMembersв TypeScript или Node.js официально не рекомендуется к использованию. После того как новый API станет доступен, вам придется обновить все боты, чтобы использовать его. Это также относится к базовому REST API, который используется этими API.Боты не могут упреждающе извлекать
userPrincipalNameсвойства илиemailдля участников чата или команды. Боты должны использовать API Graph для получения необходимых сведений. НовыйGetConversationPagedMembersAPI не может возвращатьuserPrincipalNameсвойства иemail.Примечание.
Для получения сведений рекомендуется использовать API Graph с маркером доступа.
См. также
Platform Docs