Google MyBusiness API discovery URL无法正常使用报错问题咨询
问题解答
核心结论
你不需要在discovery URL中添加任何API密钥,该报错不是因为缺少密钥,是你的discovery地址配置错误、对应版本API已废弃导致的。
错误原因说明
- 第一个
UnknownApiNameOrVersion报错:你原来使用的v4.5版本的静态discovery JSON地址已经被官方下架,且v4版本的旧版Google My Business API(现已更名为Google Business Profile API)已停止公共discovery服务支持。 - 第二个403报错:你修改后的
https://developers.google.com/my-business/reference/rest是HTML格式的文档页面,不是合法的JSON格式discovery描述文件地址。googleapiclient检测到传入的地址不是合法discovery文件后,会自动拼接默认的动态discovery接口发起请求,该接口现已要求API密钥鉴权,且就算补充密钥也无法获取已经下线的v4版本discovery数据。
修复方案
按以下步骤调整代码即可恢复正常调用:
- 提前在Google Cloud控制台确认已经启用「Google Business Profile API」(原My Business API)
- 替换为官方当前维护的最新稳定版静态discovery JSON地址,同时新增参数禁用动态discovery拉取逻辑,示例代码如下:
discovery_url = 'https://developers.google.com/my-business/samples/mybusiness_google_rest_v4p9.json' service = build( 'mybusiness', 'v4', credentials=credentials, discoveryServiceUrl=discovery_url, static_discovery=False )
内容的提问来源于stack exchange,提问作者Martin Taleski
相关产品推荐
相关产品推荐

