You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Linux上用Duplicity备份文件到Google Drive遇格式错误求助

解决Duplicity备份Google Drive时的google.auth.exceptions.MalformedError错误

问题场景

在Linux桌面使用Duplicity备份文件到Google Drive,按官方文档完成项目创建、OAuth配置、环境变量设置后,执行备份命令时抛出错误:

google.auth.exceptions.MalformedError: Service account info was not in the expected format, missing fields client_email, token_uri

问题根源

你下载的JSON文件是OAuth客户端ID密钥,而非Duplicity所需的服务账户密钥文件,前者缺少client_email、token_uri等服务账户必填字段。

修复步骤

  1. 登录Google开发者控制台,进入mybackup-12345项目
  2. 导航至「IAM与管理」→「服务账户」页面
  3. 找到对应服务账户mybackup-12345@mybackup-12345.iam.gserviceaccount.com,点击操作栏的「密钥」→「添加密钥」→「创建新密钥」
  4. 密钥类型选择「JSON」,点击「创建」,将下载的新JSON文件替换原路径下的/home/myuser/backups/google_client_secret_json_file.json
  5. 若文件路径未变更,无需重新设置环境变量;若路径修改,更新GOOGLE_SERVICE_JSON_FILE变量:
    export GOOGLE_SERVICE_JSON_FILE=/home/myuser/backups/[新文件名].json
    
  6. 重新执行备份命令:
    duplicity /home/myuser/Documents gdrive://${GOOGLE_SERVICE_ACCOUNT_URL}/backups/documents?myDriveFolderID=root
    

额外注意事项

  • 确保服务账户邮箱已被授权访问目标Google Drive文件夹:若备份到非root文件夹,需在Drive中共享该文件夹给服务账户邮箱并赋予编辑权限
  • 避免混用OAuth客户端密钥与服务账户密钥,Duplicity对接Google Drive服务账户时仅认可后者的JSON格式

内容的提问来源于stack exchange,提问作者Jean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 01:43:09