gdrive
概览
gdrive是一个命令行应用程序,用于与Google Drive进行交互。这是gdrive2的继任者,尽管目前只实现了最基本的功能。
社区
加入我们的discord服务器讨论所有关于gdrive的话题。
赞助
帮助保持这个项目的活跃。通过赞助gdrive等级,你将帮助支持:
- 跟上API的更新
- 新功能的开发
- 修复和回答问题
- 编写指南和文档
入门
要求
- Google OAuth客户端凭证,参见文档
安装可执行文件
- 从发行版部分下载最新的可执行文件
- 解压缩并将可执行文件放在PATH目录中(即Linux和macOS上的/usr/local/bin)
- 注意,该可执行文件没有代码签名,在Windows和macOS上运行时会引起警告。稍后会解决这个问题,但现在可以通过您最喜欢的搜索引擎找到解决方法。
将Google帐户添加到gdrive
- 运行
gdrive account add
- 这将提示您输入Google客户端ID和客户端密钥(请参见要求)
- 接下来您将看到一个URL
- 访问该URL并授予gdrive访问您的Drive的权限
- 您将被重定向到
http://localhost:8085
(gdrive启动了一个临时Web服务器),这完成了设置 - 现在gdrive可以使用了!
在远程服务器上使用gdrive
将帐户添加到gdrive的过程的一部分要求您的Web浏览器访问运行gdrive的机器上的localhost:8085
。
这使得在远程服务器上设置帐户变得很困难。
建议的解决方法是在本地机器上添加帐户,然后在远程服务器上导入:
- [本地] 运行
gdrive account add
- [本地] 运行
gdrive account export <ACCOUNT_NAME>
- [本地] 将导出的存档复制到远程服务器
- [远程] 运行
gdrive account import <ARCHIVE_PATH>
凭据
Gdrive将您的帐户凭据和令牌保存在$HOME/.config/gdrive3/
下。
通常您不需要直接使用这些文件,但如果有人访问这些文件,他们也将能够访问您的Google Drive。请妥善保管这些文件。
在云中的虚拟机上使用gdrive
从某些云提供商那里与Drive API通信存在一些问题。
例如,在AWS实例上上传时,API会返回大量的429 Too Many Requests
/503 Service Unavailable
/502 Bad Gateway
错误。
而同样的文件在Linode实例上却可以没有任何错误地上传。
Gdrive内置了重试逻辑来处理这些错误,但这可能会显著减慢上传速度。
要检查您是否受到这些错误的影响,可以运行upload
命令并加上这些标志:--print-chunk-errors
--print-chunk-info
。