
本文详解解决“Google My Business API has not been used in project”错误的关键步骤:必须启用My Business API(v4.9),而非控制台中显示的多个“My Business *”子服务;同时需确认OAuth作用域、凭据配置与API访问权限的一致性。
本文详解解决“google my business api has not been used in project”错误的关键步骤:必须启用**my business api(v4.9)**,而非控制台中显示的多个“my business *”子服务;同时需确认oauth作用域、凭据配置与api访问权限的一致性。
在使用 Google Client 库调用 Google My Business(GMB)接口获取商家评论时,常见 403 错误提示:
"Google My Business API has not been used in project {projectNumber} before or it is disabled."该错误并非因凭据或授权失败导致,而是核心 API 未被启用——你当前在 Google Cloud Console 中启用的是一系列“My Business *”子服务(如 Business Information、Verifications 等),但获取评论(Reviews)所依赖的是独立的、主干型的 My Business API(即 v4.9 版本),其正式名称为 mybusiness.googleapis.com,且必须显式启用。
✅ 正确启用步骤如下:
- 访问 Google Cloud Console → 进入你的项目
- 导航至 API 和服务 > 库
- 在搜索框中输入:My Business API(注意:不是 “My Business Account Management” 或其他变体)
- 点击结果中的 My Business API(图标为 Google Maps 标志,服务 ID 为 mybusiness.googleapis.com)
- 点击 启用(Enable)
- ⏳ 等待 2–5 分钟,让配置在 Google 后端系统中生效(切勿跳过此步)
⚠️ 重要说明:
Google Calendar API 快速入门:创建项目、启用 API、设置 OAuth 2.0 凭据。本指南将引导您完成下载凭据文件并将其用于访问 API 的全过程。
- 控制台中列出的 My Business Account Management API、My Business Verifications API 等均为已弃用或功能受限的旧版 API,它们不支持 accounts.locations.reviews.list 等核心评论接口;
- mybusiness.googleapis.com 是统一的 v4 REST API 入口,涵盖账号管理、地点操作、评论读取(reviews.list)、回复、统计等全部能力;
- 若点击启用链接仍报 Failed to load,请确认:
- 当前登录的是项目所有者或具有 serviceusage.services.enable 权限的账号;
- 项目处于活跃状态(非关闭/暂停);
- 使用的是标准 Google Cloud 项目(非 Firebase 自动创建项目,后者需手动关联 Cloud Billing 并启用 API)。
? 代码侧需同步验证以下三点:
-
OAuth 2.0 作用域正确:
获取评论至少需要 https://www.googleapis.com/auth/business.manage(推荐),plus.business.manage 已弃用,可移除:$client->setScopes(['https://www.googleapis.com/auth/business.manage']);
-
客户端初始化一致:
确保 Google_Service_MyBusiness 实例基于已授权客户端构建,且该客户端已加载有效 Access Token(含足够权限):$client = $this->getClient(); // 确保 getClient() 返回的 client 已完成 token 刷新 $myBusiness = new Google_Service_MyBusiness($client); // ✅ 正确调用评论列表(需先获取 locationName) $reviews = $myBusiness->accounts_locations_reviews ->listAccountsLocationsReviews('accounts/{accountId}/locations/{locationId}'); 服务端凭据匹配:
self::CREDENTIALS_PATH 必须指向 OAuth 2.0 Client ID 的 JSON 凭据文件(含 "type": "authorized_user" 或 "type": "service_account"),而非服务账号密钥(除非已为服务账号授予 GMB 帐号管理员权限)。
? 最后提醒:Google My Business API 要求你的 Google 帐号已通过 Google Business Profile 验证并拥有对应地点的管理员权限。若调用 listAccounts() 返回空数组,请检查:
- 当前 OAuth 用户是否已在 Google Business Profile 中被添加为“管理员”角色;
- 业务资料是否处于“已验证”状态(未验证的地点无法通过 API 访问)。
完成上述配置后,重启应用并重试,403 错误将消失,accounts.locations.reviews.list 接口即可正常返回结构化评论数据。

















