Mit*_*les 1 outlook-calendar microsoft-graph-api
当我me/calendars/[calendar-id]/events使用以下有效负载执行 POST 时。它成功创建了事件,我收到了新事件的 ID:
{
"start": {
"timeZone": "America/Chicago",
"dateTime": "2022-12-23T15:00:00"
},
"end": {
"timeZone": "America/Chicago",
"dateTime": "2022-12-23T18:00:00"
},
"subject": "Please don't delete me!",
"body": {
"contentType": "text",
"content": "I'm just an event in the future, I wonder if I'll send a '@removed' notice?"
}
"isCancelled": false,
"type": "singleInstance"
}
Run Code Online (Sandbox Code Playgroud)
但在那之后不久,我的 webhook 收到了该事件的信息,表明它刚刚被删除:
{
"@odata.type": "#microsoft.graph.event"
"id": [that-event-id]
"@removed": {
"reason": "deleted"
}
}
Run Code Online (Sandbox Code Playgroud)
当我去查看我的 Outlook 日历时,该事件似乎仍然存在,如果我得到它,它isCancelled是错误的。
这只发生在一年多以前或两年后创建的事件中。
小智 5
我们自己被同样的问题困扰了大约一个月,我想我昨天终于能够追踪到这个问题了。
我们使用events delta API而不是 webhook API,但显然相同的错误会影响两者......微软的某个人真的需要解决这个问题,这太疯狂了。
对事件增量请求最初设置的startDateTime..endDateTime窗口外事件的更改始终显示为增量。@removed
事件增量 API 捕获初始startDateTime..endDateTime窗口,然后将其用于所有带有$deltatoken. 如果您的 delta 查询使用$select等,这也会意外地咬您,因为在您创建新的 delta 之前对其进行的更改不会应用(通过不传递初始值$deltatoken)
这个细节导致我们为自己设置了一个定时炸弹。我们最初的窗口有点宽,但突然开始收到广泛的事件报告,这些事件显示为已取消,但绝对没有从日历中删除。
拜托,来自微软的人承认这是一个真正的问题。在离散指定的时间窗口之外进行的更改不应影响它,这使得构建我们信任的集成变得困难。
| 归档时间: |
|
| 查看次数: |
201 次 |
| 最近记录: |