首页 文章

OneDrive REST API - CORS POST请求

提问于
浏览
1

我正在尝试使用官方文档(http://msdn.microsoft.com/en-us/library/dn659743.aspx#create_a_folder)之后的OneDrive REST API创建一个文件夹 . 我已经在JavaScript中将其实现为AJAX请求,这会在浏览器中产生CORS请求 .

正如所料,浏览器发送带有相关标头的第一个OPTIONS请求:

Access-Control-Request-Headers:authorization, content-type
Access-Control-Request-Method:POST

但是,响应标头不包括授权标头:

Access-Control-Allow-Headers:Content-Type
Access-Control-Allow-Methods:GET, POST, DELETE, PUT, HEAD, MOVE, COPY
Access-Control-Allow-Origin:*
Access-Control-Max-Age:2592000

因此,浏览器(在本例中为Chromium 34)在控制台中记录错误,并且不提交POST请求,因为不允许添加Authorization标头:

XMLHttpRequest cannot load https://apis.live.net/v5.0/me/skydrive. Request header field authorization is not allowed by Access-Control-Allow-Headers.

有什么方法可以解决这个问题吗?根据我的理解,这是一个服务器问题,因为文档明确要求此标头 .

1 回答

  • 1

    您仍然可以将access_token作为查询参数提供,例如“删除文件夹”示例(并且不通过Authorization标头提供) .

相关问题