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

Google Ads API Node.js MCC配置:customer.report报TypeError读取get属性未定义

使用google-ads-api v21.0.1通过MCC账号获取客户广告系列数据时遇到TypeError错误

我正在Node.js环境中使用google-ads-api库(v21.0.1),试图通过自己新建的MCC(管理器)账号获取Google Ads客户账号的广告系列数据。目前已完成以下操作:

  • 创建了个人MCC账号;
  • 接收并接受了客户的账号访问邀请,获得该账号的只读权限;
  • 确认客户账号已在Google Ads UI中显示于我的MCC账号名下;
  • 成功获取OAuth刷新令牌(流程无异常);
  • 开发者令牌已获批标准访问权限;
  • 使用的客户ID和MCC ID均已去除短横线。

运行代码

const { GoogleAdsApi, enums } = require('google-ads-api');

const client = new GoogleAdsApi({
  client_id: '...',
  client_secret: '...',
  developer_token: '...',
});

const customer = client.Customer({
  customer_id: 'xxxxxxxxxx',       // 客户账号ID(无短横线)
  login_customer_id: 'yyyyyyyyyy', // 我的MCC账号ID(无短横线)
  refresh_token: '...',
});

async function fetchCampaigns() {
  try {
    const campaigns = await customer.report({
      entity: 'campaign',
      attributes: ['campaign.id', 'campaign.name'],
      metrics: ['metrics.impressions', 'metrics.clicks'],
      limit: 10,
      constraints: {
        'campaign.status': enums.CampaignStatus.ENABLED,
      },
    });

    if (!campaigns || campaigns.length === 0) {
      console.log('No campaigns found');
      return;
    }

    campaigns.forEach(campaign => {
      console.log(`ID: ${campaign['campaign.id']}, Name: ${campaign['campaign.name']}`);
    });
  } catch (error) {
    console.error('Error fetching campaigns:', error);
  }
}
fetchCampaigns();

错误信息

每次运行代码都会抛出以下错误:

No data type found for reason
No data type found for domain
No data type found for metadata.service
No data type found for metadata.method
Error fetching campaigns: TypeError: Cannot read properties of undefined (reading 'get')
    at Customer.getGoogleAdsError (.../google-ads-api/build/src/service.js:102:49)

已排查内容

  • 客户ID和MCC ID均正确,且已确认拥有账号访问权限(客户账号在MCC UI中可见);
  • 开发者令牌、OAuth凭据及权限均处于有效状态;
  • 已确保ID中无短横线;
  • 尝试过添加/移除login_customer_id参数;
  • 使用Node.js 20+版本及最新版google-ads-api包。

疑问

  • 该错误是由账号权限、API配置还是库的Bug导致的?
  • 接受客户账号邀请后,是否需要执行额外操作?
  • 拥有只读权限的MCC账号能否正常通过API访问客户账号,还是需要更高权限?
  • 有没有人解决过google-ads-api的report方法中出现的这个"undefined get"错误?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 05:39:55