注册函数时Outlook Web添加addHandlerAsync错误5001

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

我一直在使用各种不同的原型来创建一个新的Outlook Web Add-in,并且所有这些原型都已按预期/预期工作,但是今天注册Office.EventType.ItemChanged的代码已经停止工作,我无法解决原因。

捕获错误会返回一个通用的OSF.DDA.Error "An internal error has occurred." code: 5001,如下所示:

error: OSF.DDA.Error {
    name: "Internal Error",
    message: "An internal error has occurred.",
    code: 5001 } status: "failed"

我试图设置它的方式如下,并从顶级React组件的构造函数调用:

begin snippet: js hide: false console: true babel: false 

语言:lang-js

Office.initialize = () => {    
    // Handle changing selected email - This is where the error generated
    Office.context.mailbox.addHandlerAsync(Office.EventType.ItemChanged, this.itemChanged, this.handleFailedChange);

    // Handle authentication - This is working perfectly
    Office.context.mailbox.getUserIdentityTokenAsync(this.callBack);

    this.setState({
        ...this.state,
        isOfficeInitialized: true,
    });
};

调用addHandlerAsync并在电子邮件之间单击然后无法触发事件时抛出错误,调用getUserIdentityTokenAsync()方法并且正在加载项按预期进行身份验证,因此错误不会阻止执行流程。

我尝试将Office.initialize调用移出构造函数,但是除了使我更难以跟踪我依赖的isOfficeInitalized状态以确保事情已经准备好之外,这无法解决问题。

代码是ReactJS并使用TypeScript来确保编码。如上所述,我还有其他一切正常工作,包括首次打开加载项时加载选定的邮件项目 - 我从中获取主题,发件人和Cc地址 - 所以我知道Office.js文件正在运行并正在运行如预期。

任何帮助都会很棒,提前谢谢!

编辑 - 解决方案:

因此,在发布此内容并花费更多时间尝试使其工作之后,我检查了manifest.xml文件...事实证明,addHandlerAsync方法仅在API 1.5之后可用且我文件中的最小版本为1.3,设置DefaultMinVersion =“1.5”解决了这个问题:

<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
      <Requirements>
        <bt:Sets DefaultMinVersion="1.5">
          <bt:Set Name="Mailbox" />
        </bt:Sets>
      </Requirements>
javascript reactjs typescript outlook-web-addins
1个回答
0
投票

因此,在发布此内容并花费更多时间尝试使其工作之后,我检查了manifest.xml文件...事实证明,addHandlerAsync方法仅在API 1.5之后可用且我文件中的最小版本为1.3,设置DefaultMinVersion =“1.5”解决了这个问题:

<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
      <Requirements>
        <bt:Sets DefaultMinVersion="1.5">
          <bt:Set Name="Mailbox" />
        </bt:Sets>
      </Requirements>
© www.soinside.com 2019 - 2024. All rights reserved.