首页 > 解决方案 > Microsoft Graph 日历 CTAG/Changekey 未更改

问题描述

我正在尝试使用Graph API365 Calendar将约会与我们的内部 CRM 软件日历同步,但是无论我在 365 上创建/更改/删除多少事件,日历上的或都不会更改以表示已进行更新。CTAGchangekey

理想情况下,我只需执行一个列表日历 API 调用,它会返回日历列表和 CTAG/changekeys,以便我知道哪些日历已更新。我真的不想获取所有事件并在每次同步发生时比较各个 ETAG/changekey。

通过自定义脚本和使用Microsoft Graph Explorer进行尝试,每次都得到相同的 JSON 响应,无论我在日历中做了多少更改。

GET https://graph.microsoft.com/v1.0/users/4d591251-dd02-4bb8-9e80-9c66c526c7fe/calendars/

 {
     "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('4d591251-dd02-4bb8-9e80-9c66c526c7fe')/calendars",
     "value": [
         {
             "id": "AAMkADFmODMyZWEwLWFmNjQtNDUyMS04YTk4LTFmZGViNzkyZWQyZQBGAAAAAABre3wS1gY0TIgCJhhYQAL5BwDZKoqjQvz8SoX7OCU5oF96AAAAYg1SAABRW8zpitFfR41s0yU_eudNAAlt2l4DAAA=",
             "name": "Calendar",
             "color": "auto",
             "changeKey": "ZqOtKvQcnUym2xGHcFiCNQAC7AE=",
             "canShare": true,
             "canViewPrivateItems": true,
             "canEdit": true,
             "owner": {
                 "name": "Liam Hill",
                 "address": "liam@contoso.com"
             }
         }
     ] 
 }

标签: microsoft-graph-api

解决方案


The changeKey that you are expecting to change will be reflected by this end point: https://graph.microsoft.com/v1.0/users/4d591251-dd02-4bb8-9e80-9c66c526c7fe/events/AAMkADljY2EwNjU2LWVhYTItNDlmMy05ZWE1LTA5Zjc5YzhhZTMyYwBGAAAAAAAJYBHio4VlTKwYgFRcz_44BwC0bqbZ5NLFRoWa_zAJHejIAAAAAAENAABqBW9fyky-T4ye-miQ6gd0AAK83UeaAAA=

此外,如果您想跟踪日历以了解特定时间段内发生的任何更改,那么您应该使用 Delta 查询,在这种情况下您将使用的资源将是 CalendarView,它也需要一个日期范围。 https://docs.microsoft.com/en-us/graph/delta-query-overview

让我知道您是否需要工作样品,或者您是否需要其他东西。


推荐阅读