Javascript 在没有身份验证的情况下,如何通过XHR(CORS)访问公共Google驱动器文件?

Javascript 在没有身份验证的情况下,如何通过XHR(CORS)访问公共Google驱动器文件?,javascript,xmlhttprequest,google-drive-api,cors,Javascript,Xmlhttprequest,Google Drive Api,Cors,我需要一个HTML页面来访问带有Javascript的XMLHttpRequest(XHR)的Google驱动器文件,而无需验证(这样我的用户就不必登录或拥有Google帐户)。这些文件具有“具有链接的任何人”权限。由于这些文件是向全世界开放的(有链接),我不明白为什么允许跨源资源共享(CORS)会成为一个问题 downloadUrl需要身份验证,所以我想这不是一个可行的选择。我还研究了webViewLink,我想这需要文件“在网络上公开”-我想是在搜索引擎中出现的,等等。这对我来说也不是一个可

我需要一个HTML页面来访问带有Javascript的
XMLHttpRequest
(XHR)的Google驱动器文件,而无需验证(这样我的用户就不必登录或拥有Google帐户)。这些文件具有“具有链接的任何人”权限。由于这些文件是向全世界开放的(有链接),我不明白为什么允许跨源资源共享(CORS)会成为一个问题

downloadUrl
需要身份验证,所以我想这不是一个可行的选择。我还研究了
webViewLink
,我想这需要文件“在网络上公开”-我想是在搜索引擎中出现的,等等。这对我来说也不是一个可行的选择。我需要这些文件的“任何有链接的人”权限。最有希望的链接是
webContentLink
,根据研究,它允许公众和未经验证的访问

我对
webContentLink
的问题是它似乎不友好。我尝试在Chrome中使用XHR失败(相当安静)。我不添加任何标题

使用
--header“Origin:http://www.hello.se“
和有无
--header”访问控制请求方法:GET“
导致
HTTP/1.1 302临时移动
重定向到短期内容URL。问题在于,重定向响应没有任何迹象表明启用CORS所需的
访问控制允许来源

我能做些什么不同的事情来让它工作吗


否则Google SDK团队,您能否使
webContentLink
CORS对公共文件(不需要cookie身份验证)友好,请?

您可以尝试使用JS Google API客户端。它通过下载代理iframe绕过CORS限制

JSONP似乎是从客户端动态获取google工作表的唯一方法:

1) 在Google Drive中,在web上发布文档并将共享选项设置为Public

2) 使用JSON类型的链接以JSON格式导出数据,其外观如下:“”。您需要追加&callback=myCallback才能使用JSONP。您可以使用jQuery进行JSONP调用


3) 定义window.myCallback JS函数来使用数据

“(…)否则谷歌SDK团队,你能做(…)”如果他们真的回答了这个问题,我不会感到惊讶,但我认为期望他们在这里这样做是一个很好的假设。如果你通过谷歌自己的渠道传达你的建议,他们很可能会听到你的建议。@Renan我见过谷歌的开发人员对之前提出的问题做出回应并加以解决。所以这不是不可能的:)@Renan看着,我似乎在正确的地方。@Anders你解决了这个问题吗?你能把密码寄出去吗?我正在寻找公共URL,将与CORS的工作,将不需要授权。谢谢