我正在尝试在asp.net mvc应用程序中创建部分邮件客户端。我没有使用.net API,因为我需要通过javascript在客户端获取消息。
不幸的是,在尝试通过ajax请求获取消息时出现以下错误。
阻止跨源请求:同源策略禁止读取 远程资源在 https://outlook.office365.com/api/v1.0/me/messages。这可以修复 通过将资源移动到同一域或启用CORS。
这是我的ajax请求
jQuery.ajax({
url: "https://outlook.office365.com/api/v1.0/me/messages",
type: "GET",
headers: { "Authorization": authToken },
success: function (response) {
debugger;
// response
},
error: function (request, errorType, error) {
debugger;
}
});
知道我在这里做错了吗?我对CORS了解不多。
答案 0 :(得分:3)
Office 365 API明确不支持cross-origin resource sharing或CORS。这基本上是当您在网页中的浏览器中执行的脚本(如您的AJAX请求)尝试访问网页域之外的内容时。我们在路线图上有这个支持,但我目前没有具体的时间表分享。
答案 1 :(得分:2)
我创建了一个使用Web API项目代理O365调用的示例解决方案。我认为这是一个可接受的解决方案,直到MS可以更新O365 API以支持CORS。如果有兴趣您可以在此处找到示例https://github.com/nickmkk/O365WebClient。
答案 2 :(得分:0)
自2015年8月以来,开发人员现在可以选择使用CORS向Office 365 API发送请求,以便可靠地访问,修改和创建数据。
以下是Microsoft官方文档:
我的帖子通过一步一步的教程说明了这个案例:
http://mosshowto.blogspot.fr/2015/11/embed-office-group-sharepoint-online.html