我想使用终端从我的谷歌驱动器下载文件夹?有什么办法可以做到这一点吗?我试过这个:
$ wget "https://drive.google.com/folderview?id=0B-Zc9K0k9q-WWUlqMXAyTG40MjA&usp=sharing"
但它正在下载这个文本文件:folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing
.有没有办法从终端下载谷歌驱动器文件夹?
答案1
我可以使用以下命令下载公共共享文件:
$ wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O FILENAME
其中FILEID
必须替换为实际文件 ID。FILENAME
是存储下载的路径/文件名。
请注意,您不能使用folderid 代替fileid。我在文件夹视图中使用了查看源代码,我可以在其中找到以下 HTML <div id="entry-0B0jxxycBojSwVW...
。以开头的字符串0B
是 fileid。
答案2
2 个有用的 Python 程序(需要sudo apt install -y python3 python3-pip
:):
- 向下:从 Google Drive 公开下载大文件(curl/wget 由于安全通知而失败)。
pip install gdown
- gshell:在 Google Drive 中导航就像在 shell 上一样(gshell = Google Drive + Shell)。
pip install gshell
(或许已停产)
要上传到 GDrive,可以使用https://labbots.github.io/google-drive-upload/。
例子:
要从 Google 云端硬盘 (5 GB) 下载 1 个公共大文件:
# syntax: gdown https://drive.google.com/uc?id=FILE-ID
gdown https://drive.google.com/uc?id=1LC5iVcvgksQhNVJ-CbMigqXnPAaquiA2
要下载 1 个文件夹:
gshell init # log in to your Google account
gshell ll # list files
gshell download spam.txt # download file -> you could script to download all files listed by gshell ll
我用过gdown
并且效果很好。我没试过gshell
。
请注意,如果在 24 小时内使用gdown
超过约 20 次(可能取决于文件大小),我们会收到错误:
访问被拒绝并出现以下错误:
Too many users have viewed or downloaded this file recently. Please try accessing the file again later. If the file you are trying to access is particularly large or is shared with many people, it may take up to 24 hours to be able to view or download the file. If you still can't access a file after 24 hours, contact your domain administrator.
您仍然可以从浏览器访问该文件:
https://drive.google.com/uc?id=1LC5iVcvgksQhNVJ-CbMigqXnPAaquiA2
答案3
一个较新的开源多平台客户端,用 Go 编写,名为驾驶非常漂亮且功能齐全,并且正在积极开发中。
例子
pull 命令从 Google Drive 下载本地不存在的数据,并删除 Google Drive 上不存在的本地数据。不带任何参数运行它以从当前路径中提取所有文件:
$ drive pull
还支持通过匹配拉动
$ cd ~/myDrive/content/2015 $ drive pull --matches vines docx
有关更多示例,请参阅上面的链接,这些只是冰山一角。
答案4
您可以使用开源的Linux/Unix命令行工具gdrive
。
要安装它:
下载二进制文件。例如,选择适合您的架构的一个
gdrive-linux-x64
。将其复制到您的路径。
sudo cp gdrive-linux-x64 /usr/local/bin/gdrive; sudo chmod a+x /usr/local/bin/gdrive;
使用方法:
确定 Google 云端硬盘文件夹的 ID。为此,请使用drive.google.com网络客户端进入文件夹进行下载。现在查看浏览器地址栏中的 URL,它会显示类似 的内容
https://drive.google.com/drive/folders/0B7_OwkDsUIgFWXA1B2FPQfV5S8H
。获取最后一个后面的字符串/
并将其复制到剪贴板。这是文件夹的 ID。下载文件夹。当然,在下面的命令中请使用您的文件夹的 ID。
gdrive download --recursive 0B7_OwkDsUIgFWXA1B2FPQfV5S8H
首次使用时,该工具需要获得 Google Drive API 的访问权限。为此,它会向您显示一个必须在浏览器中访问的链接,然后您将获得一个验证码以复制并粘贴回该工具。然后自动开始下载。没有进度指示器,但您可以在文件管理器或第二个终端中观察进度。