2016-08-17 19 views
4

我想列出所有用户。对于每个用户,我需要显示特定于该用户的角色和组。Microsoft Graph:在一个请求中列出所有用户及其组请求

我想:

https://graph.microsoft.com/v1.0/users?$expand=memberOf 

但它给完全相同的结果为:

https://graph.microsoft.com/v1.0/users 

按照文档的用户对象(http://graph.microsoft.io/en-us/docs/api-reference/v1.0/resources/user),我应该能够列出角色并通过使用memberOf关系为用户分组。

我可以通过为每个用户执行一个请求(使用https://graph.microsoft.com/v1.0/users/{user_id}/getMemberObjects)来获得我需要的每个用户的角色和组,但它有点慢并且过度杀伤。

我缺少什么?

回答

3

用户实体的扩展导航属性当前不适用于Microsoft Graph端点的生产版本(v1.0)。该功能在beta终端上运行。

此查询的工作,你的愿望:

https://graph.microsoft.com/beta/users?$expand=memberOf 

上有功能时从移动公测V1.0还是他们甚至会在目前的形式没有时间表。

目前,您有3个选择使用Microsoft Graph API。

贝塔端点

使用测试点,但明白,它可能会在功能发生改变。

多图调用

获取用户的集合,然后获取的memberOf为每个用户,你需要它。

https://graph.microsoft.com/v1.0/users/{id}/memberOf 

https://graph.microsoft.com/v1.0/users/{user_id}/getMemberObjects 

展开上组

成员如果你想坚持使用V1.0端点并根据您的总体目标,你可以尝试去寻找您想要的其他方式的信息。获取组的集合并扩展成员导航属性。

https://graph.microsoft.com/v1.0/groups/?$expand=members 
+0

感谢您的详细解释!对于以下请求, – Michael

+0

beta无法正常工作:https://graph.microsoft.com/beta/users/{id}?$expand=directReports。在v1中,它什么都不做,在测试版中,它扩展了用户的所有导航属性以及所有儿童的导航属性。将beta和select结合起来不起作用。 – Marmoy

+2

假设你与msgraph项目有关,你应该在这里修改文档https://developer.microsoft.com/en-us/graph/docs/overview/query_parameters以声明不支持扩展查询,确定它会为开发人员节省很多头痛。 – Marmoy

相关问题