javascript - 如何从 Chrome 扩展程序下载公共(public) Google Drive 文件?

标签 javascript google-chrome google-chrome-extension xmlhttprequest permission-denied

我有像这样的公共(public) Google Drive 文件:https://docs.google.com/uc?id=0B8G77eDgeMdwMmkwcnA5eUV2M0U&export=download

我想从 Chrome 扩展程序下载该文件。

我已将这些 url 添加到扩展 list 中的“权限”元素(尝试下载文件时有一些重定向,我尝试将它们全部添加):“https://*.docs.googleusercontent.com/","https://docs.google.com/","http://docs.google.com/","https://accounts.google.com/","https://www.google.com/"

当我尝试下载文件时,Chrome 返回此错误:

XMLHttpRequest cannot load https://docs.google.com/nonceSigner?nonce=s35adai1lp052&continue=https://do…Ddownload%26h%3D16653014193614665626&hash=inkfclb76vcru6uuoqkfp274hk5joqk9. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 

看来我已经允许下载有问题的 url。

如果我添加 <all_urls>允许下载成功。

知道我需要添加什么权限吗?提前致谢。

最佳答案

例如使用 wget 并查看报告的重定向,您可以看到最后一个主机是这样的:

doc-0c-80-docs.googleusercontent.com

第一部分可能是可变的,URL 主机部分中的通配符只能匹配主机名的整个部分。因此,您应该将以下内容添加到您的匹配模式中:

*.googleusercontent.com

关于javascript - 如何从 Chrome 扩展程序下载公共(public) Google Drive 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20098188/

相关文章:

javascript - 从 Chrome 扩展程序访问网站数据

javascript - 获取 "Unchecked runtime.lastError while running management.uninstall:"

javascript - 打破 .preventDefault()

javascript - Angular 轮播 : Uncaught TypeError: Cannot read property 'offsetWidth' of undefined while using carousels with Angular JS

google-chrome - navigator.clipboard 未定义

javascript - 语法错误 : '[object HTMLDocument]' is not a valid selector in firefox

javascript - Chrome 扩展 : multiple extensions acting on the same element

javascript - Uncaught Error : Rendered fewer hooks than expected. 这可能是React Hooks中意外提前返回语句导致的

javascript - jquery .animate 在 jsfidle 中有效,在网站中无效

css - Firefox 忽略 CSS font-weight 属性