我的应用程序需要在任何人进行身份验证之前从Google云端硬盘上的JSON文件读取数据,以便在应用程序中公开显示数据。
该JSON文件是公共的(任何具有共享链接的人都可以查看),所以我尝试使用webContentLink
来获取数据,但是由于CORS标头不存在于请求的资源中而失败了。
对此也有类似的问题(例如this),但这些问题来自几年前,我似乎找不到很好的答案。
我是否可以通过其他方式无需身份验证即可访问公共文件?谢谢。
答案 0 :(得分:0)
如果文件是公共文件,则可以使用api key进行读取。应用程序将此密钥作为key = API_key参数传递给所有API请求。
如果文件存储在您控制的帐户中。然后,您还可以根据使用的语言使用service account。
答案 1 :(得分:0)
鉴于如果您使用XMLHttpRequest,则无法绕开CORS,并且公开配置文件密钥违反安全性和服务协议,但是通过链接可以看到文件本身,则您可以实现目标通过另一种方法。
您可能可以使用JSONP来完成它。 但我希望Google文档中不允许进行开放式编辑,否则会带来安全风险。
您也可以将文件加载为纯文本文件。 您可以使用两种可能性:iframe或嵌入。 如果这样做,您可能希望将页面的该部分隐藏起来,但是一旦文件被加载,那么下一个任务就是找到它并使用javascript解析它。
这里有两个有关从嵌入中读取数据的链接。
How to access the content of the "embed" tag in HTML
...并从上面的链接中引用...
http://xn--dahlstrm-t4a.net/svg/html/get-embedded-svg-document-script.html
如果您执行embed / iframe路由,则必须自己处理解析,但随后可以处理安全性。