Получение байтов размещенного содержимого с помощью Microsoft Graph возвращает HTTP 403 Forbidden - PullRequest
2 голосов
/ 25 мая 2020
• 1000 . Это происходит, когда аутентифицированный пользователь становится членом существующей группы, использующей Graph, а затем использует GET chatMessageHostedContent beta API для размещенного вложения контента.

Это шаги воспроизведения:

  • В браузере Teams или настольном приложении:

    1. Войдите в свой клиент Office 365 с помощью лицензированного пользователя A ,
    2. Создайте новую команду publi c,
    3. В этой команде создайте новый канал publi c,
    4. В этом канале создайте множество вложений с размещенным содержимым в нескольких messages : изображения, скопированные с помощью инструмента Snipping Tool, фрагменты кода.
  • В Microsoft Graph Explorer или любом приложении C#, которое использует пакет Nuget Microsoft Graph Beta:

    1. Войдите, используя тот же клиент , но как другой пользователь B , который имеет как минимум Администратор команд и администратор SharePoint
    2. * 10 46 * Добавить этого пользователя в качестве члена новой вновь созданной команды
    3. Получить все сообщения
    4. Загрузить байты всех вложений с размещенным содержимым

Вы получите ошибку HTTP 403 Forbidden при загрузке всех размещенных вложений контента.

Есть способ заставить его работать , но это включает «ручную работу» , что не может быть выполнено программно:

  • Как пользователь B , откройте канал в приложении Teams Пользовательский интерфейс (в Fiddler мы видим HTTP 403, но в какой-то момент он начинает работать)

  • Или, вместо присоединения к группе с помощью Graph, все еще как пользователь B , присоединяйтесь к команде с помощью пользовательского интерфейса приложения Teams Join team using UI

Кажется, что каждое из этих двух решений запускает процесс синхронизации разрешений, который невозможно выполнить с помощью Graph только. Как только они будут завершены, загрузка байтов размещенного содержимого с помощью Graph работает.

Мы также заметили, что мы не получаем HTTP 403 для размещенного содержимого, встроенного в основной канал General для некоторых причина.

Мы что-то упустили?

1 Ответ

1 голос
/ 17 июня 2020

Моя команда столкнулась с этой же проблемой и в конечном итоге исправила ее, переключившись с делегированных разрешений в учетной записи службы на использование разрешений приложения. и требуется разрешение на использование. Подробнее: https://docs.microsoft.com/en-us/graph/teams-protected-apis

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...