【问题标题】:Office365 REST API - Calendar event attachments not visible for recipientsOffice365 REST API - 日历事件附件对收件人不可见
【发布时间】:2018-06-06 07:47:30
【问题描述】:

add attachment 端点似乎有问题。附加到日历事件的文件对日历收件人不可见。附件对事件创建者可见。直到最近,我的代码已经运行了几个月,这让我相信这是一种回归。

重现步骤

  1. 必须有两个用户 - 创建者和接收者。
  2. 通过https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events 创建一个事件
  3. 通过https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events/{eventId}/attachments将文件附加到事件中
  4. 以创建者身份转到 Office 365 Web UI。活动看起来不错,包含附件。
  5. 以创建者身份查询 Microsoft 图形 API。活动看起来不错。 hasAttachmentstrue,通过 API 列出附件按预期工作。
  6. 以收件人身份转到 Office 365 Web UI。该事件缺少附件(有关该事件的所有其他内容都是准确的)。
  7. 查询 Microsoft 图形 API 作为收件人。 hasAttachmentsfalse,您无法使用图形 API 列出附件。为了获取收件人的事件 ID,我查询了 /calendarView 端点。它返回的事件 ID 与第 4 步中的事件不同,但对象的其余部分匹配(iCalUId、主题、开始/结束时间等)...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"
    }
  }
}

【问题讨论】:

  • 您是否尝试过添加与会者之前添加附件?我怀疑这里的问题是添加附件不会触发发送更新的邀请。
  • 我没有。此解决方法解决了该问题。谢谢!

标签: office365 microsoft-graph-api outlook-restapi


【解决方案1】:

Marc 的解决方法解决了该问题 - 在附件之后添加与会者。工作流程如下:

  1. 通过 POST 到 https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events 创建一个活动(不包括与会者)。
  2. 通过 POST 将文件附加到事件到 https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events/{eventId}/attachments
  3. 通过 PATCH 将参与者从步骤 1 中的活动更新为 https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events/{eventId}

一些额外的请求,但它完成了工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多