调用Google My Business API创建localPosts返回404错误如何解决
404报错核心原因
你调用接口返回404的核心问题是请求路径不符合接口规范,缺失必填路径层级,且路径参数使用错误:
- 你第一次发起请求时直接将地点ID拼接在API版本路径后,缺失了接口要求的
accounts/{accountId}/locations/前缀层级,接口无法匹配到对应路由 - 你第二次测试时直接将路径参数替换为自定义的地点显示名称,接口仅识别平台返回的标准化资源ID,不支持自定义名称作为路径参数,自然无法找到对应资源
分步解决方法
- 获取有权限的账号ID
携带你已经拿到的有效访问令牌,调用账号列表查询接口,从返回结果中提取你名下管理商家资源的accountId,账号资源的标准格式为accounts/{accountId}。 - 获取目标地点的标准ID
用上一步拿到的accountId拼接地点列表查询接口,拉取该账号下所有管理的地点列表,从中找到你要发布帖子的目标地图地点,提取对应的locationId,地点资源的标准格式为accounts/{accountId}/locations/{locationId},禁止自行编造ID、或使用地点对外显示的名称作为路径参数。 - 按规范拼接创建帖子的请求路径
本地帖子创建接口的正确POST请求路径格式为:
将前两步获取到的真实POST https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/localPostsaccountId、locationId替换到对应占位符位置,不得省略任何路径层级。
测试注意事项
- 在OAuth 2.0 Playground测试时,要确保兑换访问令牌环节使用的是你自己在Google Cloud控制台创建的OAuth客户端凭据,不要使用Playground默认的公开凭据,避免出现API未启用、权限不匹配的问题
- 确认用于授权的Google账号,拥有目标地图地点的管理员/所有者权限,无管理权限的账号即使路径拼接正确,也会出现资源找不到或权限不足的报错
- 发起POST请求时需要携带
Content-Type: application/json请求头,请求体需填写帖子必填字段(包括帖子正文、帖子类型、关联动作/媒体内容等),避免路径正确但因参数缺失报错
内容的提问来源于stack exchange,提问作者Ivan Pirus
相关产品推荐
相关产品推荐

