Google client_secret.json格式不符,请求Gmail API接入技术协助
解决Gmail API client_secret.json格式不匹配问题
你遇到的是Google OAuth凭据下载时的键名混淆问题——Desktop App类型的凭据被返回了经过混淆的键(如WCc、Anc),而非google-api-python-client所需的标准installed结构。以下是两种自动化解决方法:
方法一:编写脚本自动转换格式
用Python脚本读取下载的混淆JSON,将其映射为标准格式:
import json # 读取下载的原始凭据文件 with open("downloaded_secret.json", "r") as f: raw_data = json.load(f) # 混淆键与标准键的映射关系 key_mapping = { "Anc": "auth_uri", "hVc": "token_uri", "znc": "auth_provider_x509_cert_url", "s2a": "client_secret", "oNc": "redirect_uris" } # 转换为标准格式 standard_data = { "installed": { "client_id": raw_data["WCc"]["client_id"], "project_id": raw_data["WCc"]["project_id"], **{key_mapping[k]: v for k, v in raw_data["WCc"].items() if k in key_mapping} } } # 保存为符合要求的client_secret.json with open("client_secret.json", "w") as f: json.dump(standard_data, f, indent=2)
将你下载的混淆JSON文件命名为downloaded_secret.json,运行脚本后即可生成符合要求的client_secret.json。
方法二:重新生成并下载凭据
即使选了Desktop App类型,偶尔会出现返回混淆格式的情况,可按以下步骤重新操作:
- 进入Google Cloud控制台的「API和服务」→「凭据」页面
- 删除现有的Desktop App类型OAuth客户端ID
- 点击「创建凭据」→「OAuth客户端ID」
- 应用类型选择「桌面应用」,填写任意名称后点击「创建」
- 在弹出的对话框中直接点击「下载JSON」,避免关闭对话框后从凭据列表中下载(列表下载偶尔会返回混淆格式)
内容的提问来源于stack exchange,提问作者lagarkane
相关产品推荐
相关产品推荐

