我需要一个 HTML 页面来使用 Javascript 中的 (XHR) 访问 Google Drive 文件XMLHttpRequest
而无需身份验证(因此我的用户不必登录或拥有 Google 帐户)。这些文件具有“任何有链接的人”的权限。由于这些文件对全世界开放(有链接),我不明白为什么允许跨域资源共享 (CORS) 会成为问题。
需要身份验证,所以我想这downloadUrl
不是一个可行的选择。我还查看了webViewLink
,我猜这要求文件是“在网络上公开” - 我猜是在搜索引擎等中出现。这对我来说也不是一个可行的选择。我需要这些文件的“任何有链接的人”权限。最有希望的链接是webContentLink
,根据http://googleappsdeveloper.blogspot.se/2012/08/5-things-you-didnt-know-you-could-do.html允许公开和未经身份验证的访问。
我遇到的问题webContentLink
是它似乎对 CORS 不友好。我在 Chrome 中使用 XHR 的尝试失败了(非常安静)。我不添加任何标题。
我尝试curl
使用--header "Origin: http://www.hello.se"
和不使用都会--header "Access-Control-Request-Method: GET"
导致HTTP/1.1 302 Moved Temporarily
重定向到短暂的内容 URL。问题是重定向响应没有Access-Control-Allow-Origin
标头的迹象,这是启用 CORS 所必需的。
我可以做些什么不同的事情来让它发挥作用吗?
否则谷歌 SDK 团队,你能让webContentLink
CORS 对公共文件友好吗(不需要 cookie 身份验证),好吗?