我正在尝试使用 Graph API 将365 Calendar
与内部CRM软件日历进行同步,但是日历上的CTAG
或changekey
却没有无论我在365上创建/更改/删除了多少事件,都进行了更改以表示已进行更新。
理想情况下,我只需要执行列表日历API调用即可返回日历和CTAG /更改键的列表,这样我就知道哪些日历已更新。我真的不想获取所有事件并在每次同步发生时都比较各个ETAG /更改键。
通过自定义脚本并使用 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"
}
}
]
}
答案 0 :(得分:1)
您希望更改的changeKey将通过以下端点反映出来: https://graph.microsoft.com/v1.0/users/4d591251-dd02-4bb8-9e80-9c66c526c7fe/events/AAMkADljY2EwNjU2LWVhYTItNDlmMy05ZWE1LTA5Zjc5YzhhZTMyYwBGAAAAAAAJYBHio4VlTKwYgFRcz_44BwC0bqbZ5NLFRoWa_zAJHejIAAAAAAENAABqBW9fyky-T4ye-miQ6gd0AAK83UeaAAA=
此外,如果您要跟踪日历在特定时间段内发生的任何更改,则应使用Delta Query,在这种情况下使用的资源将是CalendarView,它也需要一个日期范围。 https://docs.microsoft.com/en-us/graph/delta-query-overview
让我知道您是否需要一个有效的样品,或者是否需要其他东西。