【问题标题】:Office js Api error with getCallbackTokenAsync on OutlookWebOutlookWeb 上 getCallbackTokenAsync 的 Office js Api 错误
【发布时间】:2019-02-04 07:01:22
【问题描述】:

我正在为 Office 365 开发 Outlook 插件,我正在使用函数 Office.context.mailbox.getCallbackTokenAsync
在桌面应用程序 (Outlook 2016 Office 365) 上测试时,该函数运行良好,但当使用 Outlook Web 应用程序在线测试相同的代码时,回调函数永远不会触发。
没有报告错误并且在 Net 开发人员工具中检查我可以看到 POST 请求 https://outlook.office365.com/owa/service.svc?action=GetClientAccessToken 正确执行并且响应包含正确的值,但我的回调函数仍然没有被触发。
代码如下:

Office.context.mailbox.getCallbackTokenAsync({
   isRest: true
}, 
function (result) {
   console.log("Callback is never fired!");
});

我的代码中有错误还是 Office js 中的错误?
谢谢。

【问题讨论】:

    标签: javascript outlook-addin office-js office-addins outlook-web-addins


    【解决方案1】:

    我自己找到了一个解决方案,我会在这里发布,以防它对某人有帮助。
    问题是我在其他地方有一个event.completed(),它停止了所有请求和相关回调。
    奇怪的是,这种效果仅适用于 OutlookWeb 平台,而不适用于 Outlook 2016。

    【讨论】:

    • 在 event.completed() 之后调用的任何东西都不能保证运行。您的加载项可以随时被终止。在 Win32 Desktop Outlook 中,您的外接程序可能会挂起,如果用户再次单击该按钮,实际上可以再次调用您的函数(以提高性能,而不必重新启动您的外接程序),但您的外接程序可以在 event.completed() 之后的任何时间仍会终止,因此您不应依赖该行为。在 OWA 中,您很可能会在 event.completed() 之后立即被终止
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多