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

Node.js调用Google My Business API报配额超限如何解决

问题背景
  • 计划开发一款应用,支持用户绑定自身Google My Business(简称GMB)账号,绑定后用户可选择对应账号,通过应用向其GMB商家主页发布内容、同步商品更新。
  • 已多次提交官方权限申请表单,始终未获得审核通过,对接Google支持团队未得到有效推进,项目暂无进展。
  • 后端服务采用Node.js开发,编写了用于获取已认证用户关联商家账号的接口,调用时持续返回配额超限报错。
现有实现代码
const { google } = require('googleapis');
const mybusinessaccountmanagement = google.mybusinessaccountmanagement('v1');

async fetchGoogleMyBusinessAccounts(req,res) {
        let accessToken = //Redacted
        const authCredentials = //Redacted
        const oauth2Client = //Redacted
        google.options({ auth: oauth2Client });
        try {
            let data = await mybusinessaccountmanagement.accounts.list();
            console.log(`GMB Accounts response = ${JSON.stringify(data, null, 2)}`);
        } catch (e) {
            console.log('Error retrieving GMB Accounts: Full error below:');
            console.log(e); //I keep getting Quota exceeded
        }
    }
报错信息

Quota exceeded error

排查与解决步骤
  • 优先确认API权限与项目状态
    GMB相关API属于受限类敏感API,未完成权限审核的应用默认仅分配极低的测试配额,甚至会直接拦截所有请求返回「配额超限」,这类报错不是实际请求量超限,本质是权限校验不通过的拦截返回。
    重新提交权限申请时不要填写空泛的用途描述,需明确说明:应用仅为持有GMB账号的商家用户提供自有账号的内容发布、商品更新能力,不爬取公开数据、不获取非授权用户的商家信息,同时附上完整的应用操作录屏、公开可访问的隐私政策页、应用核心界面截图,逐个说明申请的OAuth权限范围对应的实际功能,不要申请超出业务需求的多余权限。
    本地调试阶段先将用于测试的GMB账号加入Google Cloud项目的测试用户白名单,白名单内用户的请求不受公开应用配额限制,可满足基础开发调试需求。
  • 修正代码配置问题
    现有代码使用google.options({ auth: oauth2Client })全局挂载鉴权实例的方式,容易出现多请求鉴权串用问题,建议将鉴权实例直接传入对应API请求的参数中,不要做全局配置。
    初始化OAuth2客户端时,确认已申请GMB账号管理必需的权限范围https://www.googleapis.com/auth/business.manage,缺少对应权限时接口也会返回配额超限类的模糊报错,不会明确提示权限不足。
    未过审应用的默认测试配额仅支持单分钟个位数请求,调试时不要高频重复调用接口,增加合理的请求间隔,避免触发临时限流。
    修正后的参考实现:
    const { google } = require('googleapis');
    const mybusinessaccountmanagement = google.mybusinessaccountmanagement('v1');
    
    async function fetchGoogleMyBusinessAccounts(req, res) {
      try {
        // 替换为已完成用户授权、配置好有效access_token的OAuth2客户端实例
        const oauth2Client = /* 你的OAuth2客户端实例 */;
        // 直接在请求参数中传入鉴权实例,设置合理分页大小
        const response = await mybusinessaccountmanagement.accounts.list({
          auth: oauth2Client,
          pageSize: 20
        });
        console.log(`GMB Accounts response = ${JSON.stringify(response.data, null, 2)}`);
        return response.data;
      } catch (e) {
        console.log('Error retrieving GMB Accounts, full error info:');
        console.log(e);
        // 打印e.response.data可查看Google返回的完整错误明细,区分是真配额超限还是权限拦截
        throw e;
      }
    }
    
  • 核查实际配额使用情况
    进入对应Google Cloud项目的「API与服务」页面,找到My Business Account Management API,进入配额管理页查看实际配额数值与使用量,如果显示可用配额为0,说明项目尚未获得该API的正式访问权限,只能按要求重新提交权限申请,不存在其他绕过途径。

内容的提问来源于stack exchange,提问作者ololo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 23:51:29