Обновление API Graph user.preferredLanguage не работает из-за недостаточных прав - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь обновить предпочитаемый язык пользователя, используя конечную точку / me или конечную точку / users / {currentUserID}, но это всегда выдает:

403 «Недостаточно прав для завершения операции».

enter image description here enter image description here

Я проверил разрешения в соответствии со страницей документации и добавил разрешениядля User.ReadWrite, User.ReadWrite.All, Directory.ReadWrite.All, Directory.AccessAsUser.All .Это, кажется, не имеет никакого эффекта.Документация неверна или все еще отсутствуют разрешения?

Запрос работает нормально, если я выполняю его с пользователем администратора рекламы Azure.

enter image description here enter image description here

РЕДАКТИРОВАТЬ: 2019-04-18

Я провел еще несколько испытаний:

  1. Я создалновый демонстрационный клиент, использующий https://demos.microsoft.com
  2. Я вошел в обозреватель графиков с учетной записью администратора арендатора и дал согласие администратора на User.ReadWrite (и другие разрешения по умолчанию, запрашиваемые обозревателем графиков).
  3. Я зарегистрировалсяс демо-пользователем.
  4. Я установил предпочитаемый язык на "en-US", используя патч на https://graph.microsoft.com/v1.0/me/. Это было успешно .
  5. Я снова попытался изменить язык на "де-де". Это не сработало :

"message": "Недостаточно прав для завершения операции.", "InnerError": {"request-id": "d1d30483-a3da-4775-af5b-4a3dd9823f11 "," date ":" 2019-04-18T07: 40: 27 "}

Поэтому, похоже, это работает при настройке языка в первый раз.Но впоследствии обновить его невозможно.

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

Просто чтобы закрыть эту проблему: я провел некоторое тестирование с поддержкой MicrosoftПо какой-то причине обновление предпочитаемый язык возможно только в том случае, если приложение имеет Directory.AccessAsUser.All .

Довольно серьезное разрешение для простого обновления языка пользователя ...

0 голосов
/ 25 сентября 2018

Ни проблема с документацией, ни разрешение Graph отсутствуют.Вам нужно проверить разрешение в Azure AD, а не только в Graph Explorer.Мой тест основан на двух учетных записях (одна учетная запись MS и одна пробная учетная запись, test@xx.onmicrosoft).Пробная версия работает хорошо, в то время как учетная запись MS не может.

В организациях привилегии вошедшего в систему пользователя могут определяться политикой или членством в одном или нескольких администраторах.роли.Для получения дополнительных сведений о ролях администратора см. Назначение ролей администратора в Azure Active Directory .

На основании тестовой документации не все пользователи могут изменять все данные профиля, некоторые данные имеютограничение политикой организации, которое нельзя игнорировать настройками Grape Scopes.

Для работающего случая Directory.AccessAsUser.All не является обязательным

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