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

调用Google Sheets API的get_credentials()时遇KeyError: '_module'求助

解决Google Sheets Python快速入门中的密钥文件错误

首先得明确:你混淆了两种不同的Google API密钥文件类型,这是所有问题的根源。Google Sheets快速入门教程里用到的是OAuth 2.0客户端ID配置文件,不是普通的服务账号密钥,更不能是空文件。

你遇到的错误原因拆解

  • 第一个错误sheets.googleapis.com-python-quickstart.json: No such file or directory:程序默认会在当前项目目录寻找这个OAuth客户端配置文件,你没放置对应文件,自然会触发找不到文件的报错。
  • 第二个错误KeyError: '_module':你创建的空文件里没有OAuth配置必须的核心字段(_module是正确配置文件里的标识字段),程序读取时找不到关键信息,所以抛出键错误。
  • 直接重命名自己的密钥文件没用:你的密钥文件属于服务账号类型,和OAuth客户端ID文件的结构完全不同,程序根本无法识别这种不匹配的配置。

正确的修复步骤

  1. 获取正确的OAuth客户端ID文件

    • 回到Google Cloud Console的API凭据页面,找到你之前创建的OAuth客户端ID(注意不是服务账号密钥)。
    • 点击该凭据的「下载JSON」按钮,将下载的文件保存到你的项目根目录,重命名为sheets.googleapis.com-python-quickstart.json(或者保持下载的原文件名,修改代码里的文件路径)。
    • 验证:这个JSON文件里应该包含client_id、client_secret、redirect_uris这些字段,同时也会有_module字段,这才是程序需要的合法配置文件。
  2. 清理错误生成的文件

    • 删除你之前在.credentials文件夹里创建的空sheets.googleapis.com-python-quickstart.json文件,避免程序误读无效文件。
    • 如果之前运行程序生成了错误的凭据缓存,也可以直接删除整个.credentials文件夹,让程序重新走完整的授权流程。
  3. 重新运行代码

    • 现在执行代码,程序会自动打开浏览器引导你完成账号授权,授权成功后会在.credentials文件夹生成正确的凭据缓存文件,之后就能正常调用Sheets API了。

额外提示

如果你想用服务账号密钥来访问Sheets API,那代码逻辑和快速入门的OAuth授权流程完全不同,需要改用google.oauth2.service_account模块来实现认证,而不是硬套快速入门的代码框架。如果是这种需求,你需要调整代码结构,而不是在配置文件上做无用功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:23:33