首页 > 解决方案 > 如何使用 google-ads-node 从谷歌广告中获得印象(遇到一个问题;即使设置正确,客户 ID 也是无效的。)

问题描述

希望您在这个大流行时期安全且身体健康。我正在开发一些功能来使用 google-ads-node 从谷歌广告中获取数据。但现在我遇到了一个问题。

Error: 3 INVALID_ARGUMENT: Invalid customer ID '... .... ...'.

但是它在广告帐户上设置正确。 在此处输入图像描述 请理解我凌乱的画面。我使用的代码是这样的。

const auth = await authenticateGoogle(`keys/${process.env.GOOGLE_YT3_API_CREDENTIAL_PATH}`, 'installed');
  const client = new GoogleAdsClient({
    access_token: auth.credentials.access_token,
    developer_token: process.env.DEV_TOKEN,
    parseResults: true,
  });

  const service = client.getService("GoogleAdsService", { useStreaming: true });
  const request = new SearchGoogleAdsStreamRequest();
  request.setQuery(`
    SELECT
      campaign.resource_name,
      metrics.impressions,
      segments.date
    FROM 
      campaign
    WHERE 
      segments.date BETWEEN "2019-01-01" AND "2020-01-01"
  `);
  request.setCustomerId(process.env.CUSTOMER_ID);

  const call = service.searchStream(request);
    const chunks = [];

    call.on("error", err => reject(err));
    call.on("data", (chunk) => chunks.push(chunk));
    call.on("end", () => resolve(chunks));

你能帮我解决这个问题吗?谢谢你。

标签: node.jsgoogle-apigoogle-ads-api

解决方案


您唯一需要的是传递不带破折号 (-) 的 CustomerID。更具体地说,您只需要使用XXXXXXXXXX格式而不是XXX-XXX-XXXX.


推荐阅读