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

如何配置SECRET路径在Python中获取client_email?代码报错求助

问题修正方案

错误原因

你错误地将SECRET赋值为已打开的文件对象(_io.TextIOWrapper类型),但open()函数和pygsheets.authorize()的service_file参数都需要接收文件路径字符串,而非已打开的文件句柄,这直接触发了类型不匹配的错误。另外代码里的json_load是笔误,应为标准库的json.load。

修正后的代码

import os
import json
import pygsheets

# 拼接完整的密钥文件路径(字符串类型)
secrets_base_path = os.environ['SECRETS_PATH']
secret_file_path = f"{secrets_base_path}/bbak_crewl.yaml"

# 用路径字符串打开文件读取内容
with open(secret_file_path, "r") as jf:
    json_secrets = json.load(jf)

# 获取client_email
client_email = json_secrets['client_email']

# 传入路径字符串完成授权
gs = pygsheets.authorize(service_file=secret_file_path)

关键修正点

  • 单独保存密钥文件的路径字符串,而非直接打开文件
  • 修正json_load为标准库的json.load
  • 给pygsheets.authorize()传入路径字符串,而非文件对象

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 08:05:13