如何以编程方式从 Google 云端硬盘下载超过最大文件大小限制的文件?

问题描述 投票:0回答:1

我有一个大文件 (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 网站下载大文件,则会弹出提示并需要用户干预,如所附屏幕截图所示。

附上另一个屏幕截图,其中包含命令片段生成的日志消息。

bash http cookies google-drive-api
1个回答
0
投票
  1. 已安装 gdown
    pip install gdown
  2. 然后,运行
    gdown <file-id>
    从 Google Drive 下载大文件。

感谢 pgame 001。请参阅如何从 Google 驱动器下载大型 .tgz 文件以在 Cloud9 Ubuntu 18.04LTS 上安装 Docker 容器?

© www.soinside.com 2019 - 2024. All rights reserved.