在使用Microsoft Graph Explorer时,我注意到当您提交一个像https://graph.microsoft.com/beta/groups/delta这样的组增量请求时,您将得到一个带有可用的@odata.nextLink的响应。然而,当我沿着提供的链接走时,我开始得到与前一个响应中完全相同的一组组,如果我一直沿着这些链接走,另一个@odata.nextLink会导致无限的递归。预期的行为是在某个时刻获取@odata.deltaLink,但在收到的响应中永远不会到达。我的Azure环境中有63个组。
已尝试从查询中排除成员,但发送了https://graph.microsoft.com/v1.0/groups/delta?$select=displayName。在本例中,我在跟随@odada.nextLink一次之后,在第二个页面上获得了@odata.deltaLink。
发布于 2019-06-12 03:02:06
好了,我想出了如何解决这个问题。当Delta changes返回具有1000个以上成员的组时,则返回相同的数据集,但添加其余成员。这似乎是一个无限的循环,但实际上是带来了其余的成员。然后,如果使用select进行查询而不展开成员,则可以避免无限循环。
https://docs.microsoft.com/en-us/graph/delta-query-groups#paging-through-members-in-a-large-group
发布于 2019-06-11 05:33:39
Stack是问这样的问题的正确地方。我们的github问题是提出内容问题,而不是询问如何使用API本身。
在我们的documentation https://docs.microsoft.com/en-us/graph/delta-query-groups中有一个特定的文档,它向您展示了如何在groups api上进行更改
当你打电话的时候,你会得到第一个结果。
GET https://graph.microsoft.com/v1.0/groups/delta?$select=displayName,description&$expand=members
然后,您将调用上面的response to request中返回的@odata.nextLink,其中包含一个跳过令牌,而不是进行下一次完全相同的调用。
GET https://graph.microsoft.com/v1.0/groups/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjvB7XnF_yllFsCrZJ
第三次调用时,您将从第二个响应中调用@odata.nextLink。这些请求之间的@odata.nextLink应该是不同的。
https://stackoverflow.com/questions/55379873
复制相似问题