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

Python调用Google My Business API报UnknownApiNameOrVersion错误

Google My Business封面图更新接口UnknownApiNameOrVersion报错修复方案

核心报错原因

这个报错不是单纯的版本号填写错误,是三个代码问题叠加导致的:

  • 代码冗余且变量引用错误:重复定义了两次SCOPES常量,服务初始化时传入的credentials变量未定义,实际凭证存储在gmb_app_verify_business_test.credentials属性中
  • 多余参数触发接口校验异常:使用OAuth2.0用户凭证请求接口时,不需要传入developerKey(API_KEY)参数,该参数和OAuth凭证同时传入会导致发现文档拉取失败
  • 发现文档拉取逻辑问题:GMB接口不支持google-api-python-client默认的公开发现服务拉取,必须手动指定正确的v4版本发现文档地址,不存在公开可用的v1版本服务端接口

注意:不要反复切换v1/v4版本调试,GMB媒体上传类接口的公开稳定版本就是v4,v1版本无对外开放的服务端能力。

可直接运行的修正代码

SCOPES = ["https://www.googleapis.com/auth/business.manage"]
API_SERVICE_NAME = "mybusiness"
API_VERSION = "v4"
CLIENT_SECRETS_FILE = "client_secret.json"

# 加载会话中存储的凭证
gmb_app_verify_business_test.credentials = google.oauth2.credentials.Credentials(
    **flask.session["credentials"]
)
# 回写更新后的凭证到会话
flask.session["credentials"] = modules.credentials_to_dict(
    gmb_app_verify_business_test.credentials
)

# 初始化服务,移除多余的API_KEY参数,指定正确的发现文档拉取规则
service = googleapiclient.discovery.build(
    API_SERVICE_NAME,
    API_VERSION,
    credentials=gmb_app_verify_business_test.credentials,
    discoveryServiceUrl="https://mybusiness.googleapis.com/$discovery/rest?version=v4",
    static_discovery=False
)

# 调用封面图上传接口
cover_update_status = (
    service.accounts()
    .locations()
    .media()
    .create(
        parent='accounts/你的账户ID/locations/你的门店ID',
        body={
            "name": "IFB Point Cover",
            "mediaFormat": "PHOTO",
            "locationAssociation": {
                "category": "COVER",
            },
            "sourceUrl": "https://www.ifbappliances.com/media/ifb/ifb-point-cover.png",
        },
    )
    .execute()
)

额外调试注意事项

  • 初始化build方法时必须加上static_discovery=False参数,强制客户端实时拉取最新的接口描述,避免本地缓存的旧发现文档导致解析失败
  • 确保完成OAuth授权的账号对目标门店位置拥有所有者/管理员权限,否则服务初始化成功后调用上传接口也会返回403权限错误
  • 传入的sourceUrl必须是公网可直接访问、无访问鉴权限制的图片地址,否则接口会拉取图片失败返回上传错误

内容的提问来源于stack exchange,提问作者gm-123

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 00:45:44