Microsoft Outlook Calendar Graph API增量不返回已删除的事件?

时间:2018-07-24 15:56:15

标签: microsoft-graph outlook-restapi

我当前正在使用Microsoft Graph API将日历事件同步到本地应用程序。似乎工作正常,但我似乎无法检索已删除的事件。我正在按照增量查询as laid out by Microsoft here的说明进行操作。这些说明专门说“通过使用增量查询,您可以在日历视图中获取新的,更新的,或已删除的事件”,并且在示例中,示例响应中有一个事件被删除。 / p>

但是,在测试中,我永远无法收到任何已删除的事件。我创建了一个事件并致电/me/calendarView/delta?startDateTime={start_datetime}&endDateTime={end_datetime},我可以看到该事件。然后删除事件,进行相同的调用,响应为空。我尝试使用deltaToken调用,只是为了确保我收到自上次调用以来发生了更改的事件,并且它确实返回了预期的已删除事件。但我不想使用它,因为它要求我的开始/结束日期必须始终相同。

我只是完全错过了增量呼叫的要点,还是我在调用它时做错了什么?

2 个答案:

答案 0 :(得分:1)

我正在使用此处显示的服务 https://docs.microsoft.com/en-us/graph/delta-query-events

GET /me/calendarView/delta?startDateTime={start_datetime}&endDateTime={end_datetime}

并且如示例

所示,使用增量令牌运行它时,我没有收到已删除的事件。

https://docs.microsoft.com/en-us/graph/delta-query-events#the-next-round-sample-first-request ...

{
    "@odata.type": "#microsoft.graph.event",
    "id": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQLkRkXbBznTvAADb6ytyAAA=",
    "@removed": {
            "reason": "deleted"
    }
},

...

我总是得到一个空的增量响应 例如 https://graph.microsoft.com/v1.0/me/calendarView/delta?$deltatoken=R0usmcdvmMuZCBYV0hguCFHvWbSXF

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(event)",
    "@odata.deltaLink": "https://graph.microsoft.com/v1.0/me/calendarView/delta?$deltatoken=R0usmcdvmMuZCBYV0hguCFHvWbSXF-PYk6UEH7m4ZdZmSbEIlouKElB10k31BdGZZJ1Os2i",
"value": []
}

答案 1 :(得分:0)

您只能使用/delta queries获取已删除的项目。调用/calendarView时,它只会为您提供 current 日历,而不是该日历的先前迭代。