gpt4 book ai didi

microsoft-graph-api - 当我创建/更新/删除日历时,收到两次 outlook 休息推送通知

转载 作者:行者123 更新时间:2023-12-04 07:07:45 24 4
gpt4 key购买 nike

我有一个要求,每当创建/更新/删除任何日历项目时,我都需要收到通知。我关注了Outlook push notification documentation订阅日历通知。

我已成功订阅日历事件。但是每当我创建一个新日历时,我都会收到两次通知。以下是通知请求数据。

第一次通知请求数据:

{
"value": [{
"@odata.type": "#Microsoft.OutlookServices.Notification",
"Id": null,
"SubscriptionId": "OTA0N0MwQj==",
"SubscriptionExpirationDateTime": "2017-09-27T05:30:49.6163119Z",
"SequenceNumber": 1,
"ChangeType": "Created",
"Resource": "https://outlook.office.com/api/v2.0/Users('1520ed5a')/Events('AAMkADAzNDUxODY=')",
"ResourceData": {
"@odata.type": "#Microsoft.OutlookServices.Event",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('1520ed5a')/Events('AAMkADAzNDUxODY=')",
"@odata.etag": "W/\"DwAAABYAAAB4h4N+ELBRSbQKq1A05YT8AADcUdIx\"",
"Id": "AAMkADAzNDUxOD="
}
}]
}

第二次通知请求数据:

{
"value": [{
"@odata.type": "#Microsoft.OutlookServices.Notification",
"Id": null,
"SubscriptionId": "OTA0N0MwQj==",
"SubscriptionExpirationDateTime": "2017-09-27T05:30:49.6163119Z",
"SequenceNumber": 2,
"ChangeType": "Updated",
"Resource": "https://outlook.office.com/api/v2.0/Users('1520ed5a')/Events('AAMkADAzNDUxODY=')",
"ResourceData": {
"@odata.type": "#Microsoft.OutlookServices.Event",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('1520ed5a')/Events('AAMkADAzNDUxODY=')",
"@odata.etag": "DwAAABYAAAB4h4N+ELBRSbQKq1A05YT8AADcUdIy\"",
"Id": "AAMkADAzNDUxOD="
}
}]
}

如果您观察两个请求数据,在第一个请求数据中,它显示 ChangeTypeCreated,在第二个请求数据中,它显示 ChangeType已更新

当我更新或删除日历时,行为相同(收到两次通知)。

知道如何摆脱第二次通知吗?

最佳答案

这不是预期的行为,我自己也无法复制它。我最好的猜测是您有一些其他系统监视日历并自动编辑日历事件。这可以解释为什么您在 create 操作后几乎立即获得更新。

在同步方面,建议使用 /delta Microsoft Graph API 的功能。当您收到通知时,您只需拉取 /delta 并仅返回已更改的记录。如果您收到错误通知,这将消除重复处理,因为您的第二个 /delta 的结果将为空。如果您有更改,但不是您关心的属性,则您可以丢弃结果并消除对数据存储的任何不必要的写入。

关于microsoft-graph-api - 当我创建/更新/删除日历时,收到两次 outlook 休息推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46319573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com