我当前正在使用Microsoft Graph API将日历事件同步到本地应用程序。似乎工作正常,但我似乎无法检索已删除的事件。我正在按照增量查询as laid out by Microsoft here的说明进行操作。这些说明专门说“通过使用增量查询,您可以在日历视图中获取新的,更新的,或已删除的事件”,并且在示例中,示例响应中有一个事件被删除。 / p>
但是,在测试中,我永远无法收到任何已删除的事件。我创建了一个事件并致电/me/calendarView/delta?startDateTime={start_datetime}&endDateTime={end_datetime}
,我可以看到该事件。然后删除事件,进行相同的调用,响应为空。我尝试使用deltaToken调用,只是为了确保我收到自上次调用以来发生了更改的事件,并且它确实返回了预期的已删除事件。但我不想使用它,因为它要求我的开始/结束日期必须始终相同。
我只是完全错过了增量呼叫的要点,还是我在调用它时做错了什么?
答案 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 日历,而不是该日历的先前迭代。