由于gdrive 工具不再维护。我找到了一个官方和更好的方法。
使用卷曲。
- 安装卷曲
sudo apt install curl
- 在google 控制台上创建您的项目凭据。如果您没有帐户,请先注册一个帐户。
创建凭据 > 配置 OAth 同意屏幕(如果需要)> 应用程序类型 > 电视和受限输入设备 > 保存您的客户端 ID 和客户端密码。
- 验证设备
curl -d "client_id=<client_id>&scope=https://www.googleapis.com/auth/drive.file" https://oauth2.googleapis.com/device/code
预期响应:
{"device_code": "<long string>",
"user_code": "xxx-xxx-xxx",
"expires_in": 1800,
"interval": 5,
"verification_url": "https://www.google.com/device"}
然后进入https://www.google.com/device
-->回车"user_code"
-->赋予相关权限。
- 保存
"device_code"
和"user_code"
值。
- 获取承载码
curl -d client_id=<client id> -d client_secret=<client secret> -d device_code=<device code> -d grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Adevice_code https://accounts.google.com/o/oauth2/token
预期输出:
{
"access_token": ".....",
"expires_in": 3599,
"refresh_token": "....",
"scope": "https://www.googleapis.com/auth/drive.file",
"token_type": "Bearer"
}
保存"access_token"
值。
开始上传
curl -X POST -L -H "Authorization: Bearer <enter access_token here>" -F "metadata={name :'filename.zip'};type=application/json;charset=UTF-8" -F "file=@filename.zip;type=application/zip" "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart"
警告
在上传之前制作文件的 zip 存档。上面的代码适用于存档文件。我用上述方法成功上传了 10gb 的存档。
来源