尝试获取 "to" 值时 Outlook 加载项 returns 错误 5001
Outlook add-in returns error 5001 when trying to get the "to" values
自 2020 年 10 月 8 日星期四起,我们开始遇到在 Outlook 加载项中获取 to 值的问题。一切都发生在撰写视图中。
首先,我们每 500 毫秒检查一次电子邮件地址是否已更改,以便我们更新视图:
return item['to'].getAsync((asyncResult) => {
console.log('res', asyncResult)
if (asyncResult.status !== Office.AsyncResultStatus.Succeeded) {
return failure(Error(asyncResult.error.message))
}
return success(asyncResult.value)
})
此方法returns开头returns值正确。
之后,我们打开一个对话框来创建一个事件,我们正在尝试获取邮件值,例如 body、to、from、subject 等。获取 subject、from 和 to 的值使用相同的方法方法同上。但是当我尝试获取其中的值时,我得到错误代码:5001,并且上述检查将从现在开始失败,我将无法获取到值。
我可以在 macOS 客户端中重现此问题,但我们在 Sentry 中看到我们的 windows 客户端用户也遇到了同样的问题。
这完全阻止了我们的大多数客户使用我们的软件。
这应该通过 RecipientsChanged 事件来完成。使用 Office.context.mailbox.item.addHandlerAsync
订阅活动。过于频繁地调用 API 可能会导致调用受到限制,因此建议使用事件机制而不是轮询。
自 2020 年 10 月 8 日星期四起,我们开始遇到在 Outlook 加载项中获取 to 值的问题。一切都发生在撰写视图中。
首先,我们每 500 毫秒检查一次电子邮件地址是否已更改,以便我们更新视图:
return item['to'].getAsync((asyncResult) => {
console.log('res', asyncResult)
if (asyncResult.status !== Office.AsyncResultStatus.Succeeded) {
return failure(Error(asyncResult.error.message))
}
return success(asyncResult.value)
})
此方法returns开头returns值正确。
之后,我们打开一个对话框来创建一个事件,我们正在尝试获取邮件值,例如 body、to、from、subject 等。获取 subject、from 和 to 的值使用相同的方法方法同上。但是当我尝试获取其中的值时,我得到错误代码:5001,并且上述检查将从现在开始失败,我将无法获取到值。
我可以在 macOS 客户端中重现此问题,但我们在 Sentry 中看到我们的 windows 客户端用户也遇到了同样的问题。
这完全阻止了我们的大多数客户使用我们的软件。
这应该通过 RecipientsChanged 事件来完成。使用 Office.context.mailbox.item.addHandlerAsync
订阅活动。过于频繁地调用 API 可能会导致调用受到限制,因此建议使用事件机制而不是轮询。