在移动设备上的 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 元素中出现的元素非常相似,但具有一些明显的区别。
- 不使用 OfficeTab 元素。
- ExtensionPoint 元素必须仅具有一个子元素。 如果外接程序实现 MobileOnlineMeetingCommandSurface 或 MobileLogEventAppointmentAttendee 扩展点,则必须包含 Control 子元素。 如果外接程序实现 MobileMessageReadCommandSurface 扩展点,则必须包含包含多个 <Control> 元素的 Group 子元素。
- Control 元素没有
Menu
等效<的类型。> - 不使用 Supertip 元素。
- 要求的图标大小不同。 移动外接程序最少必须支持 25x25、32x32 和 48x48 像素的图标。 有关详细信息,请参阅 移动外形规格的其他要求。
代码注意事项
设计适用于移动电话的外接程序引入了一些额外注意事项。
使用 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 中的加载项仅支持在阅读邮件时激活。 撰写邮件或查看或撰写约会时,不会激活加载项。 但是,有一些例外情况。
- 联机会议提供商集成加载项在“约会组织者”模式下激活。 有关此异常 (包括可用 API) 的详细信息,请参阅 为联机会议提供商创建 Outlook 移动加载项。
- 将约会笔记和其他详细信息记录到客户关系管理 (CRM) 或记笔记服务的加载项在“约会与会者”模式下激活。 有关此异常 (包括可用 API) 的详细信息,请参阅 将约会备注记录到 Outlook 移动外接程序中的外部应用程序。
- 基于事件的加载项在事件发生时
OnNewMessageCompose
激活。 有关此异常 (包括其他受支持的 API) 的详细信息,请参阅 在 Outlook 移动外接程序中实现基于事件的激活。
支持的 API
尽管 Outlook 移动版最多支持 邮箱要求集 1.5,但你现在可以从以后的要求集中实现其他 API,以进一步扩展 Outlook 移动版加载项的功能。 有关可在移动加载项中实现的 API 的指导,请参阅 移动设备上的 Outlook 中支持的 Outlook JavaScript API。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈