当尝试使用Microsoft的Graph API(使用客户端凭据)(注册的应用程序)更新用户的业务或手机属性时,出现此错误。我能够更新其他属性(城市,国家,部门,displayName,giveName,jobTitle,officeLocation,postalCode,州,streetAddress和surName)就可以了,如果我使用用户凭据通过Microsoft Graph Explorer发送相同的请求,则可以正常工作
我在Graph API的beta版和v1.0版中都尝试过此操作,但存在相同的错误
根据https://docs.microsoft.com/en-us/graph/api/user-update?view=graph-rest-1.0,我具有适当的应用程序权限(用户ReadWrite和目录ReadWrite)
我们的代码使用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"
}
答案 0 :(得分:1)
企业和移动电话是“特殊”的,因为它们在MFA身份验证中使用,因此需要更高的权限才能进行更新。
您的应用需要至少具有Helpdesk Administrator
个角色的权限,或者,如果您想更新管理员帐户,则需要Company Administrator
。
不幸的是,这并非易事,需要powershell,如此处所述:
How to Add an Azure AD Role to a Enterprise Application (Service Principal)
我不知道此文件在任何地方都有记录,当权限在没有警告或通知的情况下更改了一段时间后,我们也发现这很困难。