Angularjs $http.get从Outlook加载项访问SharePoint Online失败

Angularjs $http.get从Outlook加载项访问SharePoint Online失败,angularjs,office365,sharepoint-online,outlook-web-addins,Angularjs,Office365,Sharepoint Online,Outlook Web Addins,我正在使用AngularJs(1.3.15版)编写一个Outlook加载项(用于Office 365),该加载项使用$http.get调用SharePoint在线搜索API。我已经将搜索调用抽象为一个角度工厂,我从主控制器调用该工厂 问题是$http.get调用从不调用回调成功或错误函数。如果我在IE中跟踪它,我甚至看不到对SharePoint Online的请求通过网络 在独立的Angular SPA中使用非常类似的代码,效果很好。这里有一些伪代码来说明我在做什么 应用程序控制器 search

我正在使用AngularJs(1.3.15版)编写一个Outlook加载项(用于Office 365),该加载项使用$http.get调用SharePoint在线搜索API。我已经将搜索调用抽象为一个角度工厂,我从主控制器调用该工厂

问题是$http.get调用从不调用回调成功或错误函数。如果我在IE中跟踪它,我甚至看不到对SharePoint Online的请求通过网络

在独立的Angular SPA中使用非常类似的代码,效果很好。这里有一些伪代码来说明我在做什么

应用程序控制器

searchFactory.search(terms).then(function(response){
    $scope.results = response.data;
},
function(error){
    $scope.status = "Error";
});
搜索工厂:

factory.search = function(terms){
    var queryStr = buildQueryStr(terms);    
    var results = $http.get(queryStr);
    return results;
}
工厂代码执行,但我从未看到对搜索端点的请求经过连接,控制器中调用的success或error函数都没有触发

JavaScript控制台中唯一的错误是关于no-conversationId,但鉴于我正在调用spoapi,这似乎与此无关。值得注意的是,调用的是X域


我完全被难住了。欢迎使用任何指针。

根据dev.office.com,由于同源策略,Outlook Web会阻止跨域请求:

我相信SharePoint online API支持CORS,因此您可以使用CORS绕过该策略


根据dev.office.com,由于同源策略,Outlook Web会阻止跨域请求:

我相信SharePoint online API支持CORS,因此您可以使用CORS绕过该策略