Конечная точка API-интерфейса MS Graph не работает с разрешениями приложений для групп - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь вызвать MS Graph API для получения фотографии из группы с использованием разрешений приложения, но я получаю сообщение «Доступ запрещен. Проверьте учетные данные и повторите попытку».

По этой ссылке:

https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/profilephoto_get

Поддерживаются разрешения приложения:

Для user resource: User.Read.All, User.ReadWrite.All

Для группа ресурс: Group.Read.All, Group.ReadWrite.All

Я получаю токен приложения и вижу эти разрешения:

"roles": [
"User.ReadWrite.All",
"Group.Read.All",
"Group.ReadWrite.All",
"Directory.Read.All",
"User.Read.All" ]

Кажется, что ошибка в конечной точке Фото для групп, как ни странно, я могу получить любую фотографию пользователя, используя тот же токен приложения. Ни одна из конечных точек Photo не работает для групп:

/groups/{id}/photo
/groups/{id}/photo/$value
/groups/{id}/photos

Я что-то упустил? требуется ли другое разрешение (не задокументировано).

Если кто-нибудь из команды разработчиков MS может взглянуть, вот один из идентификаторов ошибок:

{
    "error": {
        "code": "ErrorAccessDenied",
        "message": "Access is denied. Check credentials and try again.",
        "innerError": {
            "request-id": "ac884427-69ee-407e-b198-06bd6af5f4be",
            "date": "2018-10-30T13:12:19"
        }
    }
}

Спасибо!

1 Ответ

0 голосов
/ 29 ноября 2018

У меня был такой же вариант использования, по-видимому, это известная проблема, задокументированная Microsoft здесь: https://docs.microsoft.com/fr-fr/graph/known-issues#permissions-for-groups-and-microsoft-teams

Вы должны использовать делегированное разрешение, а не разрешение приложения.

Примеры групповых функций, которые поддерживают только делегированные разрешения: Групповые беседы, события, фото Внешние отправители, принятые или отклоненные отправители, групповая подписка Количество избранных и невидимых пользователей

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