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

Google Auth报错:'Credentials'对象无'keys'属性,求技术解决方案

GCP认证代码错误修复建议

错误原因

google.auth.default()返回的creds已经是一个Credentials对象,但Credentials.from_authorized_user_info()方法要求传入的是包含授权用户信息的字典(例如从JSON文件读取的内容)。你直接将Credentials对象传入该方法,由于对象没有字典的keys()方法,因此触发了AttributeError。

修正方案

如果你是想使用本地默认认证(比如gcloud CLI登录凭据、服务账号密钥等),直接使用google.auth.default()返回的creds即可,无需额外转换:

import google.auth
from googleapiclient.discovery import build

# Set up the credentials
creds, project = google.auth.default()
# 直接使用creds调用GCP服务,示例如下
service = build('your-service-name', 'v1', credentials=creds)

特殊场景处理(若需从授权用户信息创建凭据)

如果你的业务场景需要从JSON格式的授权用户信息创建凭据(比如读取本地的authorized_user.json文件),正确写法如下:

import json
from google.oauth2.credentials import Credentials

# 从JSON文件加载授权用户信息为字典
with open('path/to/authorized_user.json') as f:
    user_auth_info = json.load(f)

# 用字典创建Credentials对象
creds = Credentials.from_authorized_user_info(info=user_auth_info)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:05:34