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