我正在尝试使用Graph API向Azure AD用户添加角色。
我正在形成此msdn article中指定的帖子请求。但操作没有成功。返回的错误如下。
请求 网址:POST https:// graph.windows.net/myorganization/directoryRoles/474732f7-ab9e-4eb5-8689-f5a078f5ed5b/$links/members?api-version=1.6
发布数据: { " url":" https:// graph.windows.net/myorganization/directoryObjects/63d144b6-e2f2-4a4a-b623-13debfcb0ff0" }
响应数据:
{
"odata.error": {
"code": "Request_ResourceNotFound",
"message": {
"lang": "en",
"value": "Resource '474732f7-ab9e-4eb5-8689-f5a078f5ed5b' does not exist or one of its queried reference-property objects are not present."
}
}
}
错误消息显示找不到所请求的资源,但是当我使用Graph API列出所有可用目录角色时,它会列出该特定目录角色,以便特定目录角色已激活且可用。我不确定错误消息的第二部分('查询引用属性')。即使是MSDN也没有关于此错误的文档。
我用3个租户测试了API,因为2个租户失败了,1个租户成功了。
下面是列出所有可用目录角色的请求的部分数据(我已经复制了我试图添加用户的角色)。
请求网址:GET https://graph.windows.net/myorganization/directoryRoles?api-version=1.6 HTTP / 1.1
回复:(部分)
{
"odata.type": "Microsoft.DirectoryServices.DirectoryRole",
"objectType": "Role",
"objectId": "474732f7-ab9e-4eb5-8689-f5a078f5ed5b",
"deletionTimestamp": null,
"description": "Service Support Administrator has access to perform common support tasks.",
"displayName": "Service Support Administrator",
"isSystem": true,
"roleDisabled": false,
"roleTemplateId": "f023fd81-a637-4b56-95fd-791ac0226033"
},
如果我尝试使用提供的API单独获取上述角色,那么我会收到同样的错误。
请求网址:GET https:// graph.windows.net/test.onmicrosoft.com/directoryRoles/474732f7-ab9e-4eb5-8689-f5a078f5ed5b?api-version=1.6 HTTP / 1.1
响应: {" odata.error" {"代码":" Request_ResourceNotFound""消息" {"朗&#34 ;: " en"," value":" Resource' 474732f7-ab9e-4eb5-8689-f5a078f5ed5b'不存在或其查询的引用属性对象之一不存在。"}}
申请信息:
Azure AD应用程序已访问您组织的目录"访问权限,我正在使用全局管理员帐户访问该应用程序。
我试过给#34;目录读写"对应用程序的权限,但同样的错误正在发生。