Office365 REST API - 收件人看不到日历事件附件
Office365 REST API - Calendar event attachments not visible for recipients
add attachment 端点似乎有问题。附加到日历事件的文件对日历收件人不可见。附件 对活动创建者可见。直到最近,我的代码已经运行了几个月,这让我相信这是一个倒退。
重现步骤
- 必须有两个用户 - 创建者和接收者。
- 通过
https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events
创建活动
- 通过
https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events/{eventId}/attachments
将文件附加到活动
- 以创建者身份转到 Office 365 网站 UI。活动看起来不错,还有附件。
- 以创建者身份查询Microsoft graph API。活动看起来不错。
hasAttachments
是 true
并且通过 API 列出附件按预期工作。
- 以收件人身份转到 Office 365 网站 UI。活动 缺少附件 (关于活动的其他一切都是准确的)。
- 以收件人身份查询Microsoft graph API。
hasAttachments
是 false
并且您不能用图表 API 列出附件。为了获取接收者的事件 ID,我查询了 /calendarView
端点。它 returns 与步骤 4 中的事件不同的事件 ID,但对象的其余部分匹配(iCalUId、主题、start/end 次等)...但有例外共 hasAttachments
.
尝试修复
我尝试创建事件并通过 /users/{userId}
端点而不是 /me
端点附加文件,结果相同。
我也尝试了添加附件 beta 端点,但收到以下错误:
{
"error": {
"code": "NavigationNotSupported",
"message": "Recursive navigation is not allowed after property 'Events' according to the entity schema.",
"innerError": {
"request-id": “{uuid}”,
"date": "2018-06-06T06:28:47"
}
}
}
Marc 的解决方法解决了这个问题 - 在附件 之后添加与会者。工作流程如下所示:
- 通过 POST 到
https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events
创建一个活动(不包括与会者)。
- 通过 POST 到
https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events/{eventId}/attachments
将文件附加到事件
- 通过 PATCH 将第 1 步中的活动更新为
https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events/{eventId}
一些额外的请求,但它完成了工作。
add attachment 端点似乎有问题。附加到日历事件的文件对日历收件人不可见。附件 对活动创建者可见。直到最近,我的代码已经运行了几个月,这让我相信这是一个倒退。
重现步骤
- 必须有两个用户 - 创建者和接收者。
- 通过
https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events
创建活动
- 通过
https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events/{eventId}/attachments
将文件附加到活动
- 以创建者身份转到 Office 365 网站 UI。活动看起来不错,还有附件。
- 以创建者身份查询Microsoft graph API。活动看起来不错。
hasAttachments
是true
并且通过 API 列出附件按预期工作。 - 以收件人身份转到 Office 365 网站 UI。活动 缺少附件 (关于活动的其他一切都是准确的)。
- 以收件人身份查询Microsoft graph API。
hasAttachments
是false
并且您不能用图表 API 列出附件。为了获取接收者的事件 ID,我查询了/calendarView
端点。它 returns 与步骤 4 中的事件不同的事件 ID,但对象的其余部分匹配(iCalUId、主题、start/end 次等)...但有例外共hasAttachments
.
尝试修复
我尝试创建事件并通过 /users/{userId}
端点而不是 /me
端点附加文件,结果相同。
我也尝试了添加附件 beta 端点,但收到以下错误:
{
"error": {
"code": "NavigationNotSupported",
"message": "Recursive navigation is not allowed after property 'Events' according to the entity schema.",
"innerError": {
"request-id": “{uuid}”,
"date": "2018-06-06T06:28:47"
}
}
}
Marc 的解决方法解决了这个问题 - 在附件 之后添加与会者。工作流程如下所示:
- 通过 POST 到
https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events
创建一个活动(不包括与会者)。 - 通过 POST 到
https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events/{eventId}/attachments
将文件附加到事件
- 通过 PATCH 将第 1 步中的活动更新为
https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events/{eventId}
一些额外的请求,但它完成了工作。