GMB MyBusiness API实时PubSub通知配置求助:资源名参数问题
解决GMB Notification Settings Resource Name 404错误的方案
我之前刚踩过这个坑,成功配置过GMB的实时通知,给你详细梳理关键点:
一、明确Notification Settings Resource Name的正确格式
这个资源名的固定格式是:
accounts/{account_id}/notificationSettings
这里的**{account_id}是你的GMB账户ID,绝非地点ID**——很多人误把地点ID填进去,直接导致404错误,这是最常见的踩坑点。
二、如何获取GMB账户ID?
有两种简单可行的方式:
- 方式1:通过API调用获取
调用GMB API的accounts.list端点,返回结果里的每个账户对象的name字段就是accounts/{account_id},你只需要在后面拼接/notificationSettings就能得到完整的资源名。 - 方式2:通过GMB商家中心控制台查找
登录你管理GMB店铺的后台,点击右上角头像选择「账户信息」,在页面中就能找到你的账户ID,再按照上面的格式拼接即可。
三、配置时的额外注意事项
- 确保你的调用账号(API密钥/服务账号)拥有
mybusiness.notifications相关权限,且已被添加为GMB账户的管理员角色; - 调用
updateNotifications必须使用PATCH请求方法,同时要在请求URL中指定updateMask=topicName; - 请求体里的
topicName要填写你创建的Pub/Sub Topic完整资源名,格式为projects/{project_id}/topics/{your_topic_name}。
示例请求
假设你的账户ID是1234567890,Pub/Sub Topic资源名是projects/my-gcp-project/topics/gmb-notifications,那么:
- 请求URL:
https://mybusiness.googleapis.com/v4/accounts/1234567890/notificationSettings?updateMask=topicName - 请求体(JSON格式):
{ "topicName": "projects/my-gcp-project/topics/gmb-notifications" }
内容的提问来源于stack exchange,提问作者Bert JP
相关产品推荐
相关产品推荐

