首页 > 解决方案 > 图表 Delta API 用于返回 400“未找到分段‘联系人’的资源”的组。

问题描述

我开发了与 Azure Ad 的集成,它支持用户和组的增量同步。它在很长一段时间内运行良好,但最近我的一些(不是全部)客户开始遇到一个特定错误。对于像这样的请求:

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

API 返回带有状态码 400 和正文的响应:

   "error": {
    "code": "BadRequest",
    "message": "Resource not found for the segment 'contacts'.",
    "innerError": {
      "request-id": "<SOME-REQUEST-ID>",
      "date": "2019-02-27T20:01:16"
    }
  }

我想指出,此错误发生在某些特定客户身上,我无法在我的环境中重现它。有人可以给我一两个提示,什么可能导致此错误?

标签: azureazure-active-directorymicrosoft-graph-api

解决方案


确保您正确使用跳过令牌和增量令牌。

当您获得 delta 响应的下一页时,您应该只有一个跳过令牌。

稍后当您想要获得更改时,您必须使用 delta 令牌。所以 $deltaToken 而不是 $skipToken。

就像这里的增量链接:https ://docs.microsoft.com/en-us/graph/delta-query-events?view=graph-rest-1.0#sample-third-and-final-response


推荐阅读