Доступны ли разрешения приложений Azure AD для REST API Microsoft Teams

Я хочу начать разработку с предварительной версией API Microsoft Teams.

В настоящее время у меня есть решение, работающее с использованием конечной точки Azure AD v2, но я хотел получить рабочее решение с использованием конечной точки v1.

Я не могу найти никаких разрешений Microsoft Teams, доступных на портале Azure AD, и я не видел ничего конкретно об этом в Известные проблемы API Teams.

Может ли кто-нибудь прокомментировать, есть ли какие-либо варианты решения для конечной точки чистой версии 1 с использованием регистрации приложения, доступной прямо сейчас? Если нет, то планируется ли это?


person Steve Peschka    schedule 31.01.2018    source источник
comment
Команды будут созданы поверх групп Office 365. Вы можете использовать разрешения групп для команд. Сообщите нам, если у вас есть конкретный сценарий. Перейдите по ссылке (developer.microsoft.com / en-us / graph / docs / api-reference / beta / api /) для получения дополнительной информации о разрешениях.   -  person Srinivas Naidu - MSFT    schedule 01.02.2018
comment
Спасибо, Шринивас, но не могли бы вы уточнить? При регистрации приложения AAD v1 я пробовал Microsoft Graph в качестве API и Читать все группы в качестве делегированного разрешения, но я получаю отказ в доступе каждый раз, когда пытаюсь использовать полученный от него токен доступа с конечной точкой групп, описанной в API. . Я могу заставить его работать с теми же кредитами, когда я использую конечную точку AAD v2, поэтому я пытаюсь согласовать эти два, если это возможно. Спасибо.   -  person Steve Peschka    schedule 01.02.2018


Ответы (2)


Конечная точка v1 использует те же разрешения, что и конечная точка v2. Основное различие между ними заключается в том, что области v2 могут динамически запрашиваться во время аутентификации, в то время как конечная точка v1 требует, чтобы разрешения были предварительно определены при регистрации.

При использовании портала Azure все разрешения для Teams отображаются в разделе «Microsoft Graph». Для Команд вам обычно нужны User.Read и Group.ReadWrite.All. На портале Azure перечислены разрешения по описанию (хотя вы можете увидеть имя базовой области во всплывающей подсказке):

  • Войдите и прочтите профиль пользователя (user.read)
  • Чтение и запись всех групп (Group.ReadWrite.All)

Обратите внимание, что Group.ReadWrite.All требует согласия администратора. Прежде чем вы сможете аутентифицировать обычного пользователя, вам сначала нужно, чтобы администратор прошел через Admin Consent.

person Marc LaFleur    schedule 01.02.2018
comment
Хорошо, спасибо, Марк. У меня есть User.Read (добавляется по умолчанию для всех новых приложений aad v1), но я использовал Read All Groups. Я попробую прочитать и написать все группы и посмотрю, имеет ли это значение. Цените помощь. - person Steve Peschka; 01.02.2018

Я публикую это как ответ, потому что я почти уверен, что это сбивает с толку других разработчиков. До этого момента при получении токена доступа для приложений AAD v1, использующих Microsoft Graph, вы использовали «https://graph.windows.net "в качестве идентификатора ресурса. Переплетения изобилуют этим примером, и у меня он есть в моем собственном коде, который я использую для OneNote и других служб.

Теперь с конечной точкой Graph для подключения к Teams (и, возможно, к другим вещам), идентификатор ресурса, который вам нужно использовать, будет «https://graph.microsoft.com ". Просто прошел быстрый тест с использованием приложения AAD v1 с Microsoft Graph API и разрешением на чтение всех групп. Я уверен, что есть объяснение от какого-то человека из MSFT, которое может иметь смысл, но я не нашел его после многих часов поиска в Интернете.

Надеюсь, это кому-то поможет.

person Steve Peschka    schedule 01.02.2018