Как получить показ от рекламы Google с помощью google-ads-node (столкнулся с одной проблемой; НЕВЕРНЫЙ идентификатор КЛИЕНТА, хотя он установлен правильно.)

#node.js #google-api #google-ads-api

#node.js #google-api #google-ads-api

Вопрос:

Надеюсь, вы в безопасности и в порядке в это время пандемии. Я разрабатываю некоторые функциональные возможности для извлечения данных из Google ads с помощью google-ads-node. Но пока я столкнулся с одной проблемой.

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

Однако он установлен правильно в аккаунте ads.
введите описание изображения здесь
Пожалуйста, поймите меня беспорядочной картинкой.
Код, который я использовал, выглядит следующим образом.

 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));
  

Не могли бы вы помочь мне, как я могу решить эту проблему, пожалуйста?
Спасибо.

Ответ №1:

Единственное, что вам нужно, это передать CustomerID без тире (-). Более конкретно, вам просто нужно передать CustomerID с XXXXXXXXXX помощью format вместо XXX-XXX-XXXX .

Комментарии:

1. Вы, дорогой пользователь stack overflow, заслуживаете медали. Я не нашел этого нигде в документации

Ответ №2:

google-ads-api нужны client_id и login_customer_id.

я думаю, что CUSTOMER_ID нужно изменить как «client_customer_Id», а не «login_customer_id»

Ответ №3:

Для тех, кто оказался здесь в 2021 .. «google-ads-node» больше не получает поддержки от Opteo, теперь они поддерживают библиотеку «google-ads-api», созданную ими самими.