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

pydrive加载Google Cloud的client_secret.json报错如何解决

问题排查解决步骤
  • 验证client_secret.json结构合法性
    打开JSON文件确认最外层有且只有web或installed其中一个顶级键,无多余外层嵌套、无缺失。本地运行脚本场景下,正确的凭证结构示例如下:
    {
      "installed": {
        "client_id": "xxx.apps.googleusercontent.com",
        "client_secret": "xxx",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token",
        "redirect_uris": ["http://localhost"]
      }
    }
    
    如果你之前调用Google Sheet API用的是服务账号凭证,LoadClientConfigFile方法不支持该类凭证的结构,直接更换适配服务账号的验证逻辑即可:
    from pydrive.auth import GoogleAuth
    from pydrive.drive import GoogleDrive
    from oauth2client.service_account import ServiceAccountCredentials
    
    gauth = GoogleAuth()
    # 按需调整权限范围
    scope = ['https://www.googleapis.com/auth/drive']
    gauth.credentials = ServiceAccountCredentials.from_json_keyfile_name('client_secret.json', scope)
    drive = GoogleDrive(gauth)
    
  • 验证文件路径与权限
    确认代码运行的工作目录下存在对应文件,可新增代码打印绝对路径校验:
    import os
    print(os.path.abspath('client_secret.json'))
    
    同时确认当前运行进程对该文件有可读权限。
  • 验证JSON文件无语法错误
    确认文件没有被截断、引号不匹配、多余逗号等JSON语法问题,可通过JSON格式校验工具验证合法性。
  • 确认凭证类型匹配
    如果是本地运行脚本,需要在Google Cloud控制台的凭据页面创建桌面应用类型的OAuth 2.0客户端ID,下载的凭证才会默认带installed顶级键,符合pydrive的格式要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:30:05