无法在Outlook加载项

时间:2018-02-15 17:43:03

标签: outlook office-js

我正在开发一些Office Outlook Web加载项,但我没有收到任何响应错误消息。独立于API返回的错误,我在fail函数中收到以下数据对象:

readyState: 0
responseText: ""
status: 0
statusText: "error"
withCredentials: true

此外,在Visual Studio或浏览器JavaScript控制台控制台中,我得到:

Origin https://localhost:44347 not found in Access-Control-Allow-Origin header.

XMLHttpRequest: Network Error 0x80700013, Could not complete the operation due to error 80700013.

我想指出服务器上的 CORS已启用,并且我从所采取的操作中独立地得到了此错误。当我给出错误的参数或在url中输入拼写错误时,它是相同的。 我还想指出 API是正常的,当我在浏览器(不在办公室)或应用程序中请求使用JS时,这种情况不会发生。我从服务器收到正常的错误消息。

在上面的示例中,测试来自localhost,但在远程Web服务器上托管的情况完全相同。

有关这方面的内容是我通常会收到成功回复(包含代码和消息)。

我想要实现的是在服务器返回时获得错误响应。没有这些信息,很难通知用户他的请求可能有什么问题。

[编辑] 例如,当我在Outlook加载项中执行以下请求并设置假令牌时,我收到上述错误(或者说没有错误):

$.ajax({
    type: 'GET',
    url: API_URL + "/api/rooms/",
    beforeSend: function (xhr) {
        $.ajaxSettings.beforeSend(xhr);
        xhr.setRequestHeader("Authorization", "Bearer " + token);
    },
    contentType: "application/json",
});

但是,当我使用Advanced REST Client执行保存请求时,我得到了403:

"description": "You do not have permission to perform this action.",
"message": "",
"code": "permission-denied",
"status": "fail"

它适用于我的所有Outlook版本。

1 个答案:

答案 0 :(得分:0)

问题是办公室加载项是通过HTTP向您的Web应用程序发送请求,并且创建的Web项目(我假设您正在使用Visual Studio中的Office加载项模板)是默认配置为SSL,即HTTPS连接。虽然这是建议用于生产应用程序,但出于调试目的,您只需单击您的Web项目,然后在菜单栏上的visual studio单击视图中 - >然后选择属性窗口 - >然后将SSL启用设置为false。 (见附图)

https://i.stack.imgur.com/Lvybn.png

希望这有帮助!