Недостаточно прав для завершения операции - Graph API - PullRequest
1 голос
/ 11 марта 2019

Я получаю эту ошибку при попытке обновить атрибут делового или мобильного телефона пользователя, используя Microsoft Graph API с помощью Client Credentials (зарегистрированное приложение). Я могу обновлять другие атрибуты (город, страна, департамент, displayName, данное имя, jobTitle, officeLocation, postalCode, состояние, streetAddress и surName) просто отлично, и если я отправляю тот же запрос через Microsoft Graph Explorer с использованием учетных данных пользователя, он работает .

Я пробовал это как с бета-версией, так и с версией Graph API версии 1.0, с той же ошибкой

У меня есть соответствующие разрешения приложения (User ReadWrite и Directory ReadWrite) согласно https://docs.microsoft.com/en-us/graph/api/user-update?view=graph-rest-1.0

Наш код использует HTTP-клиент для отправки необработанных http-запросов (например, Postman)

PATCH /v1.0/users/{user-GUID} HTTP/1.1
Authorization: Bearer {bearer token}
Content-type: application/json
Content-Length: 38

{
   "mobilePhone": "+16122229876"
}

Ответы [ 2 ]

1 голос
/ 11 марта 2019

Бизнес и мобильные телефоны являются «особыми», потому что они используются в Аутентификации MFA и поэтому требуют более высоких разрешений для обновления.

Ваше приложение должно быть предоставлено как минимум с ролью Helpdesk Administrator, или, если вы хотите обновить учетную запись администратора, вам потребуется Company Administrator.

К сожалению, сделать это не просто и PowerShellздесь требуется подробное описание:

Как добавить роль Azure AD в корпоративное приложение (принципал службы)

Я не знаю, где это документировано, мытакже выяснил это трудным способом, когда разрешения были изменены некоторое время назад без предупреждения или уведомления.

0 голосов
/ 12 марта 2019

Я собираюсь списать это как аномалию. Пользователь, для которого я получаю эту ошибку, оказывается администратором в AD. Если я попытаюсь обновить любого другого пользователя или хотя бы нескольких из них, которые я пробовал, он будет работать отлично.

Чтобы сделать его еще более странным, если я поставлю пробел в номере телефона после +1, это будет работать для пользователя (администратора), который обычно выдает мне ошибку.

Несмотря на то, что Graph API принимает телефонные номера без пробела после +1, если вы пытаетесь изменить номер телефона в Azure Admin Center, он предупреждает вас о том, что номер телефона имеет недопустимый формат.

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