无法使用 Office JS API 在 Outlook for Mac 中将会议另存为草稿

原始 KB 编号: 4505745

症状

Microsoft Outlook for Mac不支持在“撰写”模式下的会议上 saveAsync。 Outlook 加载项无法获取项目标识符。 这意味着加载项无法唯一标识 Microsoft Exchange 并与之通信以更新或侦听项目的更改。

解决方法

若要解决此问题,可以在项目上 (customProperty: Office JS API) 设置扩展属性。 扩展属性是项目的一部分,一旦项目发送,就可在 Exchange 上使用。 因此,外接程序可以查询或侦听设置了此扩展属性的项目。

若要设置 属性,请执行以下步骤:

  1. 选择以下要使用的 API 集之一:

    1. EWS
    2. REST
    3. Graph
  2. 获取每个 API 集的有效令牌:

    1. EWS:使用 getCallbackTokenAsync
    2. REST:将 getCallbackTokenAsyncoptions.isRest = true 配合使用
    3. 图:使用 onBehalfOf 令牌
  3. 查询或侦听日历事件:

    1. EWS: 订阅 创建的事件
    2. REST: 订阅 创建的通知,并根据扩展属性进行筛选
    3. 图: 订阅 创建的通知,并根据扩展属性进行筛选
  4. 在 Exchange 上查找相应的扩展属性:

    1. EWS:

      ExtendedFieldURI {PropertySet = PS_PUBLIC_STRINGS, PropertyName = cecp-add-in< id from manifest>}

    2. REST/Graph:

      SingleValueExtendedProperties { PropertyId = String {00020329-0000-0000-c000-00000000046} Name cecp-add-in< id from manifest>}

  5. 使用发送到 Webhook 的通知在订阅成功时使用 itemId 更新后端。