我有一个大文件 (supplier-data.tar.gz),我想通过在 Linux shell 上使用以下命令以编程方式从 Google Drive 下载该文件。
wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate "https://docs.google.com/uc?export=download&id=$FILEID" -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=$FILEID" -O $FILENAME && rm -rf /tmp/cookies.txt
我在一个较小的文件上测试了它并且它有效。我检查了我是否允许任何人访问我正在测试的文件,并且我使用了共享链接中正确的 $FILEID。我在登录自己的系统时执行了上面的代码片段。
问题是当我将 $FILEID 和 $FILENAME 更改为 Google Drive 上的大文件(例如,supplier-data.tar.gz)时,生成的下载与 Google Drive 上存储的文件不同。我知道,如果您使用 Google Drive 网站下载大文件,则会弹出提示并需要用户干预,如所附屏幕截图所示。
pip install gdown
gdown <file-id>
从 Google Drive 下载大文件。感谢 pgame 001。请参阅如何从 Google 驱动器下载大型 .tgz 文件以在 Cloud9 Ubuntu 18.04LTS 上安装 Docker 容器?