我需要获取用户是使用Microsoft Graph API成员的组的列表。
为此,我正在使用端点POST /users/<userId>/getMemberGroups
(doc)。这可以正常工作,但问题是响应只是组对象ID的列表。我也需要获取组属性。我可以遍历列表和查询GET /groups/<groupId>
的API,但是当用户有多个组时,这会花费很长时间。
然后我发现POST /directoryObjects/getById
(doc)将列表变成了我所需要的。我完全按照文档页面操作,但是出现以下错误:
Request_BadRequest-请求目标不允许使用指定的HTTP方法。(HTTP状态405)
我在做什么错?方法getById
是否有问题?如果是,是否还有其他方法可以将组对象ID列表变成组或获得用户组的完整列表?
答案 0 :(得分:1)
您提到的API Get directory objects from a list of ids
应该可以工作,我在MS Graph Explorer中对其进行了测试,效果很好。
请确保您使用的是POST
方法,我可以使用其他方法重现您的问题。
您可以参考以下信息,然后重试。
请求网址:
POST https://graph.microsoft.com/beta/directoryObjects/getByIds
请求正文:
{
"ids": [
"xxxxxxxx-9f1b-4f28-a408-xxxxxxxxxxxx",
"xxxxxxxx-a614-4335-81eb-xxxxxxxxxxxx",
"xxxxxxxx-e500-49d6-a705-xxxxxxxxxxxx",
"xxxxxxxx-5be3-41eb-864d-xxxxxxxxxxxx",
"xxxxxxxx-961d-4db9-87cf-xxxxxxxxxxxx",
"xxxxxxxx-93bf-4950-8d96-xxxxxxxxxxxx"
],
"types": [
"group"
]
}
结果: