如何从Chrome扩展下载公共Google Drive文件

How to download public Google Drive file from Chrome Extension?

本文关键字:Google Drive 文件 下载 Chrome 扩展      更新时间:2023-09-26

我有一个像这样的公共Google Drive文件:https://docs.google.com/uc?id=0B8G77eDgeMdwMmkwcnA5eUV2M0U&export=下载

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

我已经将这些URL添加到扩展清单中的"permissions"元素中(尝试下载文件时有一些重定向,我尝试将它们全部添加):"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. 

我似乎已经允许下载有问题的网址。

如果我添加了<all_urls>权限,则下载成功。

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

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

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

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

*.googleusercontent.com

访问驱动器文件至少需要以下条件:

  • *://drive.google.com/*
  • *://*.googleusercontent.com/*