【问题标题】:Microsoft Graph API Groups Delta Query Never Returns Delta Query (Infiinite loop with nextLink)Microsoft Graph API 组 Delta 查询从不返回 Delta 查询(带有 nextLink 的无限循环)
【发布时间】:2019-03-27 14:37:10
【问题描述】:

在使用 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。

【问题讨论】:

  • 您能否以一种实际上向社区提出特定问题的方式来表述您的问题?
  • 我根据 Microsoft 的建议发布了上述问题:“如果您有问题、需要帮助或遇到代码问题,我们鼓励您在 Stack 上发布您的问题或问题溢出。用 [microsoftgraph] 或 [Office 365] 标记您的问题。”在这种情况下,我发布的是问题,而不是问题。我唯一的问题是如何让它返回 @deltaLink 以完成递归?谢谢。
  • Microsoft 并未声明在此处发布其代码的问题,而是发布您自己的代码的问题。 StackOverflow 上的格式是提出一个特定的问题,并详细说明您到目前为止所尝试的内容。
  • 那我会把它贴在微软的 GitHub 页面上。谢谢你的帮助。
  • 这听起来是个好主意!不客气,感谢您的贡献!

标签: microsoft-graph-api


【解决方案1】:

好的,我想出了如何解决这个问题。当 Delta 更改返回具有超过 1000 个成员的组时,则返回相同的数据集但添加其余成员。这似乎是一个无限循环,但实际上正在带来其他成员。然后,如果您在不扩展成员的情况下使用 select 进行查询,则可以避免无限循环。

https://docs.microsoft.com/en-us/graph/delta-query-groups#paging-through-members-in-a-large-group

【讨论】:

  • 对我来说这不是问题,据我所知,我有一个无限循环,或者只有很多空响应,直到我得到 delta 链接。在我的函数超时之前,我有 150 个空响应。我在这里提出了另一个问题stackoverflow.com/q/62150331/1020530
  • 知道如何检索用户增量信息。考虑我需要检索特定用户组增量或事件增量的用例。基本上在增量模式下,我们如何检索用户的所有应用程序增量数据?
【解决方案2】:

Stack 是提出此类问题的正确场所。我们的 github issues 是提出内容问题,而不是问如何使用 API 本身。

在我们的文档https://docs.microsoft.com/en-us/graph/delta-query-groups中,有一个特定的文档向您展示了如何在组 api 上进行更改

当你打电话时,你会得到第一个结果。

GET https://graph.microsoft.com/v1.0/groups/delta?$select=displayName,description&$expand=members

然后,与其下次进行完全相同的调用,不如调用在对上述请求的响应中返回的 @odata.nextLink,其中包含一个跳过令牌。

GET https://graph.microsoft.com/v1.0/groups/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjvB7XnF_yllFsCrZJ

第三次调用,您将从第二次响应调用@odata.nextLink。 @odata.nextLink 在这些请求之间应该不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    相关资源
    最近更新 更多