在移动设备上的 Outlook 中添加对外接程序命令的支持
在移动设备上使用 Outlook 中的外接程序命令,你的用户可以访问与Outlook 网页版、Windows (新 (经典) 以及 Mac 上的某些限制) 相同的功能 (。 添加对 Outlook 移动版的支持需要更新外接程序清单,并可能更改移动方案的代码。
更新清单
在 Outlook mobile 中启用外接程序命令的第一步是在外接程序清单中定义它们。
在“extensions.ribbons.requirements.formFactors”数组中,添加“mobile”作为项。 完成后,数组应如下所示。
"formFactors": [ "mobile", <!-- Typically there will be other form factors listed. --> ]
如果外接程序使用“约会与会者”模式,例如将笔记记录或客户关系管理的提供商集成 (CRM) 应用程序的外接程序,请将“logEventMeetingDetailsAttendee”添加到“extensions.ribbons.contexts”数组。 示例如下。
"contexts": [ "meetingDetailsAttendee", "logEventMeetingDetailsAttendee" ],
如果外接程序使用集成的联机会议提供程序,请将“onlineMeetingDetailsOrganizer”添加到“extensions.ribbons.contexts”数组。 示例如下。
"contexts": [ "meetingDetailsOrganizer", "onlineMeetingDetailsOrganizer" ],
在“extensions.ribbons.tabs”数组中,找到“builtInTabId”为“TabDefault”的选项卡。 将子“customMobileRibbonGroups”数组添加到其中, (作为现有“groups”属性) 的对等方。 在此数组中,创建一个 对象并执行以下操作:
- 设置适当的“id”和“label”值。
- 在“controls”数组中创建对象以表示按钮,并按如下所示对其进行配置。
- 设置适当的“id”和“label”值。 为确保按钮正确适合功能区,建议将“标签”限制为 16 个字符。
- 将“type”设置为“mobileButton”。
- 将函数分配给“actionId”属性。 这应与“extensions.runtimes.actions”数组中对象的“id”匹配。
- 请确保具有全部九个必需图标。
示例如下。
"tabs": [ { "builtInTabId": "TabDefault", "groups": [ <-- non-mobile group objects omitted --> ], "customMobileRibbonGroups": [ { "id": "mobileApptComposeGroup", "label": "Contoso Meeting", "controls": [ { "id": "mobileInsertMeetingButton", "label": "Add meeting", "type": "mobileButton", "actionId": "insertContosoMeeting", "icons": [ { "scale": 1, "size": 25, "url": "https://contoso.com/assets/icon-25.png" }, { "scale": 1, "size": 32, "url": "https://contoso.com/assets/icon-32.png" }, { "scale": 1, "size": 48, "url": "https://contoso.com/assets/icon-48.png" }, { "scale": 2, "size": 25, "url": "https://contoso.com/assets/icon-25.png" }, { "scale": 2, "size": 32, "url": "https://contoso.com/assets/icon-32.png" }, { "scale": 2, "size": 48, "url": "https://contoso.com/assets/icon-48.png" }, { "scale": 3, "size": 25, "url": "https://contoso.com/assets/icon-25.png" }, { "scale": 3, "size": 32, "url": "https://contoso.com/assets/icon-32.png" }, { "scale": 3, "size": 48, "url": "https://contoso.com/assets/icon-48.png" } ] } ] } ] } ]
代码注意事项
设计适用于移动电话的外接程序引入了一些额外注意事项。
使用 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。