读取 Outlook 邮件时调用 Office.context.mailbox.item.body.getTypeAsync 时出错

问题描述 投票:0回答:1

我正在创建我的第一个 Outlook Web 插件应用程序。当我在 Outlook 中查看电子邮件时调用 Office.context.mailbox.item.body.getTypeAsync 时,收到错误消息“未捕获” 类型错误:Office.context.mailbox.item.body.getTypeAsync 不是函数”:

(function () {
    Office.onReady(function () {
        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) {
                        // Do something with getResult.value - message body content.
                    }
                    else {
                        console.log(getResult.error.message);
                    }
                });
            }
            else {
                console.log(typeResult.error.message);
            }
        });
    });
})();

如果我分离出代码并使用硬编码强制类型(Office.CoercionType.Html 或 Office.CoercionType.Text)调用 Office.context.mailbox.item.body.getAsync,getAsync 将按预期工作。但 getTypeAsync 在 Office.context.mailbox.item.body 上不可用作为函数,在 Outlook Web 中读取邮件并使用开发工具进行检查时,getAsync 是 Office.context.mailbox.item.body 上的唯一函数。这看起来很不寻常,因为 Office.js 文档中指出,Office.context.mailbox.item.body 上应该提供其他功能。

可能导致问题的原因是什么,如何修复它以便可以正确调用 getTypeAsync?我正在使用 Microsoft 的实时 Office.js 框架,因此它应该包含所有最新功能。是否可能是清单文件的问题,或者是从 Microsoft 获取 Office.js 框架的问题?

这是我的 MessageRead.html 基本文件中标头的一部分,引用了我的 JavaScript 文件,包括 Office.js 框架:

<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>
<script src="MessageRead.js" type="module"></script>
javascript outlook office-js outlook-addin outlook-web-addins
1个回答
0
投票

错误说明了一切,

Office.context.mailbox.item.body.getTypeAsync
功能不可用。当参考
getTypeAsync(callback)
上的文档时,它仅在“备注”部分将 Outlook 适用模式列为“撰写”。该功能在读取模式下不存在。

© www.soinside.com 2019 - 2024. All rights reserved.