访问 O365 Rest 时阻止跨域请求 API

Cross-Origin Request Blocked when accessing O365 Rest API

我正在尝试在 asp.net mvc 应用程序中创建部分邮件客户端。我没有使用 .net API,因为我需要通过 javascript 在客户端获取消息。

不幸的是,我在尝试通过 ajax 请求获取消息时遇到以下错误。

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://outlook.office365.com/api/v1.0/me/messages. This can be fixed by moving the resource to the same domain or enabling 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 了解不多。

Office 365 API 明确不支持 cross-origin resource sharing 或 CORS。这基本上是在您的网页中在浏览器中执行的脚本(例如您的 AJAX 请求)试图访问网页域之外的内容时。我们的路线图上有它来支持这一点,但我目前没有具体的时间表可以分享。

自 2015 年 8 月起,开发人员现在可以选择使用 CORS 向 Office 365 API 发送请求,以可靠地访问、修改和创建数据。

这里是微软官方文档:

https://msdn.microsoft.com/en-us/office/office365/howto/create-web-apps-using-CORS-to-access-files-in-Office-365

还有我的 post 通过分步教程说明此案例:

http://mosshowto.blogspot.fr/2015/11/embed-office-group-sharepoint-online.html