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

Replit中使用pygsheets实现Google Sheet API认证时遇KeyError错误

解决Replit中pygsheets认证的KeyError问题

错误原因

pygsheets.authorize()的service_account_env_var参数要求传入存储服务账户JSON内容的环境变量名称,你却传入了本地生成的JSON文件名gcreds.json,程序会去系统环境变量中查找名为gcreds.json的变量,找不到就抛出KeyError。

两种修复方案

方案一:直接用环境变量认证(推荐)

既然已经把凭证JSON存入Replit Secrets的GDRIVE_API_CREDENTIALS环境变量,无需生成本地文件,直接指定该环境变量名即可:

import pygsheets
import os

gc = pygsheets.authorize(service_account_env_var='GDRIVE_API_CREDENTIALS')

方案二:通过本地JSON文件认证

如果坚持要生成本地文件,需改用service_account_file参数传入文件名,而不是service_account_env_var:

import pygsheets
import os
import json

creds = json.loads(os.environ.get('GDRIVE_API_CREDENTIALS'))
with open('gcreds.json', 'w') as fp:
    json.dump(creds, fp)
gc = pygsheets.authorize(service_account_file='gcreds.json')

额外说明

你当前Secrets中的GDRIVE_API_CREDENTIALS值是转义后的JSON字符串,json.loads()可以正确解析,这部分无需修改。方案一省略了文件写入步骤,更简洁高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 21:05:12