在移动设备上的 Outlook 中添加对外接程序命令的支持

在移动设备上使用 Outlook 中的外接程序命令,用户可以在 Windows (经典版和新的 (预览 版) ) 和 Mac 上访问Outlook 网页版中已有) 一些限制 (相同的功能。 添加对 Outlook 移动版的支持需要更新外接程序清单,并可能更改移动方案的代码。

更新清单

注意

移动设备目前不支持 使用 Microsoft 365 统一清单 (预览版) 的外接程序。

在 Outlook mobile 中启用外接程序命令的第一步是在外接程序清单中定义它们。 VersionOverrides v1.1 架构定义了移动 MobileFormFactor 的新外形规格。

此元素包含在移动客户端中加载外接程序所需的所有信息。 这使你可以为移动体验定义完全不同的 UI 元素和 JavaScript 文件。

以下示例演示 MobileFormFactor> 元素中的单个<任务窗格按钮。

<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
  ...
  <MobileFormFactor>
    <FunctionFile resid="residUILessFunctionFileUrl" />
    <ExtensionPoint xsi:type="MobileMessageReadCommandSurface">
      <Group id="mobileMsgRead">
        <Label resid="groupLabel" />
        <Control xsi:type="MobileButton" id="TaskPaneBtn">
          <Label resid="residTaskPaneButtonName" />
          <Icon xsi:type="bt:MobileIconList">
            <bt:Image size="25" scale="1" resid="tp0icon" />
            <bt:Image size="25" scale="2" resid="tp0icon" />
            <bt:Image size="25" scale="3" resid="tp0icon" />

            <bt:Image size="32" scale="1" resid="tp0icon" />
            <bt:Image size="32" scale="2" resid="tp0icon" />
            <bt:Image size="32" scale="3" resid="tp0icon" />

            <bt:Image size="48" scale="1" resid="tp0icon" />
            <bt:Image size="48" scale="2" resid="tp0icon" />
            <bt:Image size="48" scale="3" resid="tp0icon" />
          </Icon>
          <Action xsi:type="ShowTaskpane">
            <SourceLocation resid="residTaskpaneUrl" />
          </Action>
        </Control>
      </Group>
    </ExtensionPoint>
  </MobileFormFactor>
  ...
</VersionOverrides>

这与 DesktopFormFactor 元素中出现的元素非常相似,但具有一些明显的区别。

代码注意事项

设计适用于移动电话的外接程序引入了一些额外注意事项。

使用 REST 代替 Exchange Web 服务

Outlook mobile 不支持 Office.context.mailbox.makeEwsRequestAsync 方法。 外接程序应在可能的情况下首选从 Office.js API 获取信息。 如果外接程序需要 Office.js API 未公开的信息,则应使用 Outlook REST API 来访问用户邮箱。

邮箱要求集 1.5 引入了新版本的 Office.context.mailbox.getCallbackTokenAsync ,可以请求与 REST API 兼容的访问令牌,以及可用于查找用户的 REST API 终结点的新 Office.context.mailbox.restUrl 属性。

收缩缩放

默认情况下,用户可以使用“捏合缩放”手势来放大任务窗格。 如果这对你的方案没有意义,请确保在 HTML 中禁用收缩缩放。

关闭任务窗格

在 Outlook 移动版中,任务窗格占据整个屏幕,默认情况下要求用户关闭任务窗格以返回到邮件。 在方案完成后,请考虑使用 Office.context.ui.closeContainer 方法关闭任务窗格。

撰写模式和约会

目前,Outlook mobile 中的加载项仅支持在阅读邮件时激活。 撰写邮件或查看或撰写约会时,不会激活加载项。 但是,有一些例外情况。

  1. 联机会议提供商集成加载项在“约会组织者”模式下激活。 有关此异常 (包括可用 API) 的详细信息,请参阅 为联机会议提供商创建 Outlook 移动加载项
  2. 将约会笔记和其他详细信息记录到客户关系管理 (CRM) 或记笔记服务的加载项在“约会与会者”模式下激活。 有关此异常 (包括可用 API) 的详细信息,请参阅 将约会备注记录到 Outlook 移动外接程序中的外部应用程序
  3. 基于事件的加载项在事件发生时 OnNewMessageCompose 激活。 有关此异常 (包括其他受支持的 API) 的详细信息,请参阅 在 Outlook 移动外接程序中实现基于事件的激活

支持的 API

尽管 Outlook 移动版最多支持 邮箱要求集 1.5,但你现在可以从以后的要求集中实现其他 API,以进一步扩展 Outlook 移动版加载项的功能。 有关可在移动加载项中实现的 API 的指导,请参阅 移动设备上的 Outlook 中支持的 Outlook JavaScript API

另请参阅