Microsoft图形 API - 不会为与会者更新活动



我已委派应用程序管理员对 ReadWrite 所有用户日历的访问权限。我正在使用图形API(测试版)。资源是在 Office365 中为会议室创建的。

我正在尝试使用 PATCH/users/{id}/events/{id} 更改正在进行的事件的结束时间(例如会议提前结束)

方法 1:修补资源邮箱日历中的事件

更新资源邮箱事件的开始或结束时间不会传播到该活动的与会者的日历。资源邮箱的日历将更新,但所有与会者的事件保持不变。

例如,对于具有 ID12345的现有会议的资源邮箱meetingroom@example.com。假设会议的开始时间为今天 16:30,结束时间为 17:00 UTC。假设当前时间为 16:50 UTC。

$microsoftEvent = json_encode([   
'end' => [
'dateTime' => '2017-12-13T16:50:00.0000000',
'timeZone' => 'UTC'
]
], JSON_UNESCAPED_SLASHES);
$returnedEvent = $graph->createRequest("patch", "/users/meetingroom@example.com/events/12345")
->attachBody($microsoftEvent)
->setReturnType(MicrosoftGraphModelEvent::class)
->execute();

方法 2:在组织者的日历中修补事件

假设对于上面的会议,组织者是karel@example.com的,并且该用户日历中的事件ID是通过带有$filter的单独GET中的iCalUId获得的,并且被发现是56789

$microsoftEvent = json_encode([   
'end' => [
'dateTime' => '2017-12-13T16:50:00.0000000',
'timeZone' => 'UTC'
]
], JSON_UNESCAPED_SLASHES);
$returnedEvent = $graph->createRequest("patch", "/users/karel@example.com/events/56789")
->attachBody($microsoftEvent)
->setReturnType(MicrosoftGraphModelEvent::class)
->execute();

在这种情况下,组织者的活动已更新,但资源邮箱回复

Your meeting request was declined. The invitation was declined because it occurred in the past.

任何建议将不胜感激。

更新资源的活动不会执行任何操作,因为资源实际上是与会者,而不是组织者。因此,方法 1 是预期行为。您必须更新组织者的活动,更新将发送给所有与会者,包括资源。

因此,您看到资源正在以"拒绝"响应响应,因为该事件在过去开始,我不确定您是否可以解决这个问题。听起来监视资源的日历代理不允许您更改正在进行的事件。

最新更新