【问题标题】:Get Change type in delta Events in Microsoft Graph Api在 Microsoft Graph Api 的增量事件中获取更改类型
【发布时间】:2020-06-27 07:17:55
【问题描述】:

我正在从 EWS 迁移到 Microsoft graph,并且在替换流“ExchangeService.syncFolderItems”时遇到问题。

ChangeCollection<ItemChange> changedItems = exchangeService.syncFolderItems(calendarFolder.getId(),
FirstClassProperties, null, 512, NormalItems, syncState);

这为我提供了自上次同步状态以来的所有更改类型。 现在我需要用 Microsoft graph 替换它。

我在 Microsoft graph 中看到了 Get delta api,以及如何使用过时的令牌递归调用它。我的查询是,Get delta api 没有返回更改项类型。有人可以建议我在 Microsoft graph 中实现这一点的最佳方法吗?也许我需要为此使用的 API?

注意:我的服务将在固定时间间隔后调用此流程以获取更改。我还看到了订阅 (https://docs.microsoft.com/en-us/graph/api/resources/subscription?view=graph-rest-1.0),但不确定是否可以在我的情况下使用,因为我的服务将在固定的预定时间间隔后拨打电话以更改会议室。

我被困在这里了。请帮忙。提前致谢。

【问题讨论】:

    标签: microsoft-graph-api exchangewebservices microsoft-graph-sdks microsoft-graph-teams microsoft-graph-calendar


    【解决方案1】:

    已删除的事件将具有 @removed 属性,并且仅提供对象的 ID,如此处所示 https://docs.microsoft.com/en-us/graph/delta-query-overview#resource-representation-in-the-delta-query-response

    更新的对象将仅包含更新的属性,添加的对象应包含所有可用数据。由第 3 方应用程序(您的应用程序)自己维护一个状态,以便在使用 Delta 查询时能够区分更新的对象和创建的对象。

    将 webhook 与 Delta 结合来触发同步,而不是依赖计时器,这是一种提供更实时的最终用户体验的好方法

    【讨论】:

    • 感谢您的回答,但 Webhooks 需要维护一个单独的服务器,从我读到这在我的情况下是不可能的。我需要依赖增量查询,一旦计划的作业运行并获取所有更改,就会发生更新。你能帮我解决在增量查询的情况下应该如何处理经常性的主人吗?提前致谢。
    • 这不是堆栈溢出的工作原理,请提出一个精确而简洁的问题以获得答案。不要犹豫,在多个更通用的问题中打破特定问题。
    • 谢谢@baywet。我已经发布了一个单独的查询。 stackoverflow.com/questions/62625566/…
    • 太棒了!不要忘记将此标记为已回答:)
    猜你喜欢
    • 2023-04-06
    • 2021-02-17
    • 2022-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    相关资源
    最近更新 更多