Node.js

O Google oferece uma biblioteca de cliente Node.js para interagir com a API Ad Manager.

Pré-requisito

Para usar a biblioteca de cliente do Node.js, é necessário ter o Node.js instalado. Para mais informações, consulte Fazer o download do Node.js®.

Instale a biblioteca de cliente

Para começar, crie um projeto no ambiente de desenvolvimento integrado da sua escolha ou adicione a dependência a um projeto atual. O Google publica artefatos de biblioteca de cliente no npm como @google-ads/admanager.

package.json

"dependencies": {
  "@google-ads/admanager": "^0.4.0"
}

Linha de comando

npm install @google-ads/admanager

Configurar credenciais

Para autenticar, a biblioteca de cliente Node.js usa o OAuth2 e o Application Default Credentials (ADC). Para criar e configurar suas credenciais do ADC, consulte Autenticação.

Fazer sua primeira solicitação

Cada serviço tem um objeto ServiceClient com métodos para cada método REST. Para ver exemplos de cada método, consulte o repositório do GitHub googleapis/google-cloud-node. O exemplo a seguir lê um objeto Network:

// Resource name of the Network
const name = 'networks/NETWORK_CODE'

// Imports the Admanager library
const {NetworkServiceClient} = require('@google-ads/admanager').v1;

// Instantiates a client
const admanagerClient = new NetworkServiceClient();

async function callGetNetwork() {
  // Construct request
  const request = {
    name,
  };

  // Run request
  const response = await admanagerClient.getNetwork(request);
  console.log(response);
}

callGetNetwork();

Registrar solicitações e respostas HTTP

A biblioteca de cliente do Node.js oferece suporte ao registro de solicitações e respostas HTTP. Por padrão, a biblioteca de cliente desativa o registro.

Para ativar o registro padrão na saída padrão, defina a variável de ambiente GOOGLE_SDK_NODE_LOGGING como uma lista separada por vírgulas de nomes de pacotes da API do Google. Para ativar o registro em log de todas as APIs do Google, defina o valor da variável como all. Para conferir todos os nomes de pacotes de bibliotecas de cliente disponíveis, consulte Bibliotecas de cliente do Google Cloud Node.js

Node.js

// Enable logging for the Google Ad Manager API
process.env.GOOGLE_SDK_NODE_LOGGING = 'admanager';

// Enable logging for the Google Ad Manager and pubsub APIs.
process.env.GOOGLE_SDK_NODE_LOGGING = 'admanager,pubsub';

// Enable logging for all Google APIs
process.env.GOOGLE_SDK_NODE_LOGGING = 'all';

Linux ou macOS

# Enable logging for the Google Ad Manager API.
export GOOGLE_SDK_NODE_LOGGING=admanager

# Enable logging for the Google Ad Manager and pubsub APIs.
export GOOGLE_SDK_NODE_LOGGING=admanager,pubsub

# Enable logging for all Google APIs
export GOOGLE_SDK_NODE_LOGGING=all

Windows

# Enable logging for the Google Ad Manager API.
set GOOGLE_SDK_NODE_LOGGING=admanager

# Enable logging for the Google Ad Manager and pubsub APIs.
set GOOGLE_SDK_NODE_LOGGING=admanager,pubsub

# Enable logging for all Google APIs
set GOOGLE_SDK_NODE_LOGGING=all

Como alternativa, você pode mudar o back-end de registro ou conectar eventos de registro. Para mais informações, consulte Ferramentas de geração de registros do Google.

Solucionar erros

Na biblioteca de cliente do Node.js, todos os erros da API Ad Manager geram uma exceção do tipo GaxiosError.

Os erros da API Ad Manager incluem uma mensagem de erro e um valor requestId exclusivo que você pode fornecer à equipe de suporte da API. Para receber ajuda com a solução de problemas, consulte Entre em contato com o suporte da API. O exemplo a seguir extrai o valor requestId e a mensagem de erro:

const admanagerClient = new NetworkServiceClient();
try {
  const network = admanagerClient.getNetwork(
    { name: 'networks/NETWORK_CODE' }
  );
  console.log(network);
} catch(e) {
  if (e instanceof GaxiosError) {
    // Load the error
    const apiError = JSON.parse(e.message).error;
    const requestInfoType = 'type.googleapis.com/google.rpc.RequestInfo';
    const requestInfo = apiError.details.find(detail => detail['@type'] === requestInfoType);
    console.error(apiError.status + ' - ' + apiError.message);
    console.error('RequestId: ' + requestInfo.requestId);
  } else {
    throw e;
  }
}