我正在使用具有已定义权限Application.ReadWrite.All
和User.ReadWrite.All
的客户端应用程序(客户端凭据授权)(两者都包含在承载令牌中)将userEnabled更改为false,如下所示:
{
"accountEnabled": false,
"city": "C234",
"country": "AFG",
"displayName": "Steve Rogers",
"givenName": "Steve",
"jobTitle": "Azure",
"mailNickname": "steve",
"postalCode": "Z345",
"streetAddress": "S123",
"surname": "Rogers",
"userPrincipalName": "steve@***.onmicrosoft.com",
"id": "aec...278",
"mobilePhone": null
}
但所有请求都以403结尾
{
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"request-id": "e7a...e42",
"date": "2019-04-10T08:21:12"
}
}
}
文档不包含任何其他权限的限制或要求。这是Graph API中的错误吗?
这似乎是不合理的,但实际上我可以在我身边重现你的问题,我想你想要更新的用户在你的租户中有一个目录角色。如果是这样,只需删除他的目录角色,那么它将正常工作。 (应该有一些延迟,你可能需要等待几分钟)。
谢谢大家,我找到了根本原因 - 你无法在Admin角色中禁用用户。我不走运,选择了几个用户,所有用户都处于Admin角色。 https://docs.microsoft.com/en-us/graph/permissions-reference#remarks-2