You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Office.context.mailbox.item.body.getTypeAsync触发类型错误的排查

问题原因及修复方案

核心原因

  1. Office.js版本过低:你当前引用的是v1基础版本的Office.js,body.getTypeAsync是Mailbox 1.9要求集才引入的API,旧版本不包含这个方法。
  2. 清单未声明对应要求集:即使升级了Office.js,如果Outlook加载项清单里没配置足够高的要求集,Outlook不会向加载项暴露该API。

修复步骤

1. 升级Office.js引用版本

把MessageRead.html里的Office.js引用替换为包含Mailbox 1.9及以上的版本,比如:

<script src="https://appsforoffice.microsoft.com/lib/1.11/hosted/office.js"></script>
<script src="MessageRead.js" type="module"></script>

注:1.11版本已经完整支持Mailbox 1.9要求集,也可以使用更高的稳定版本(如1.12)。

2. 更新加载项清单的要求集

在你的加载项清单文件(通常是manifest.xml)中,找到<VersionOverrides>节点,添加或修改Requirements配置,确保声明Mailbox 1.9及以上的要求集:

<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
  <Requirements>
    <Sets DefaultMinVersion="1.9">
      <Set Name="Mailbox" MinVersion="1.9"/>
    </Sets>
  </Requirements>
  <!-- 其他原有内容(如FormSettings、Resources等) -->
</VersionOverrides>

3. 可选:添加API可用性检查

为了避免在不支持的环境中报错,可以在调用前先验证API是否可用:

(function () {
    Office.onReady(function () {
        // 检查是否支持Mailbox 1.9要求集
        if (Office.context.requirements.isSetSupported('Mailbox', '1.9')) {
            Office.context.mailbox.item.body.getTypeAsync((typeResult) => {
                if (typeResult.status === Office.AsyncResultStatus.Succeeded) {
                    const coercionType = typeResult.value;
                    Office.context.mailbox.item.body.getAsync(coercionType, (getResult) => {
                        if (getResult.status === Office.AsyncResultStatus.Succeeded) {
                            // 处理邮件内容
                        } else {
                            console.log(getResult.error.message);
                        }
                    });
                } else {
                    console.log(typeResult.error.message);
                }
            });
        } else {
            // 降级处理,比如硬编码coercionType
            Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (getResult) => {
                // 处理内容
            });
        }
    });
})();

内容的提问来源于stack exchange,提问作者stephenj93

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 16:40:10