microsoft-graph-api - 同步状态未找到错误 : how to fix or avoid?

标签 microsoft-graph-api

我使用 Microsoft Graph API 增量查询定期下载一些信息(消息、联系人、事件)。但有时我会收到此错误:

{
    "error" :
    {
        "code" : "SyncStateNotFound",
        "innerError" :
        {
            "date" : "2018-06-01T06:31:24",
            "request-id" : "47e918a9-ce5b-42b4-8a86-12b96c93121a"
        },
        "message" : "The sync state generation is not found; generation=605;[highest=841][841][839][840]."
    }
}

我无法为您提供复制步骤,因为我不知道如何复制它。它有时会发生在生产环境中。

所以我有一些问题:

  1. Microsoft Graph API 中的生成是什么?有没有关于它的可用文档?我没有在互联网上找到任何有用的东西。
  2. 为什么增量链接会过期? Delta 链接按时间或使用 Delta 链接的一些迭代过期?我可以将我的增量链接保存在我的数据库中吗? 1 年再次使用此增量链接进行同步?
  3. 如何避免增量链接过期?有什么生活窍门吗?
  4. 如果遇到这个问题我该怎么办?完全重新同步并获得新的增量链接?
  5. 这是错误还是功能?

最佳答案

每次同步时,都会生成一个新的同步 token 。我们将当前同步 token 与前两个同步 token 一起存储。这在我们在服务器端推进同步的情况下对我们有帮助,但在将数据传输到客户端时发生了一些事情,因此他们无法获得新的 token 值。在这种情况下,我们可以“回退”到之前的同步 token ,这样客户端就不必重新同步所有内容。但是这三个存储的 token 随着每次同步而变化——最旧的 token 被丢弃,我们前进。在你的例子中,你传递给我们一个大约有 230 代历史的增量代币。那个 token 早就不见了。

另一件需要考虑的事情是,一个“不活跃”的同步 token 会存在大约 90 天,此时我们认为它已经过时,向其注入(inject)气体并将其点燃(不是真的)。

关于microsoft-graph-api - 同步状态未找到错误 : how to fix or avoid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51933002/

相关文章:

azure - 如何使用图形 API 更新 azure ad b2c 自定义用户属性

php - "Access denied"Microsoft Graph 制作文件夹时

python - AADSTS50011 : The reply URL specified in the request does not match the reply URLs configured for the application. 如何指定重定向 URI?

javascript - 如何使用 redux-observable 正确获取二进制图像?

azure - Microsoft Graph InTune Beta API 的

microsoft-graph-api - 使用 Microsoft.Graph 库进行仅限应用程序的 Microsoft Graph 身份验证

microsoft-graph-api - 在 Graph API 中过滤 'officeLocation' 上的用户

microsoft-graph-api - Microsoft Graph API 报告 GCC High 端点不工作?

java - 当前的 msgraph-sdk-java 是否准备好用于生产级应用程序

microsoft-graph-api - Outlook Rest API : Download the email attachments of type . 使用 Outlook Rest API 的 eml 文件