Google proporciona una biblioteca cliente de Node.js para interactuar con la API de Ad Manager.
Requisitos
Para usar la biblioteca cliente de Node.js, debes tener instalado Node.js. Para obtener más información, consulta Descarga Node.js®.
Instala la biblioteca cliente
Para comenzar, crea un proyecto nuevo en el IDE que prefieras o agrega la dependencia a un proyecto existente. Google publica artefactos de la biblioteca cliente en
npm como
@google-ads/admanager.
package.json
"dependencies": {
"@google-ads/admanager": "^0.15.0"
}
Línea de comandos
npm install @google-ads/admanager
Configura las credenciales
Para autenticar, la biblioteca cliente de Node.js usa OAuth2 y las credenciales predeterminadas de la aplicación (ADC). Para crear y configurar tus credenciales de ADC, consulta Autenticación.
Realiza tu primera solicitud
Cada servicio tiene un objeto ServiceClient con métodos para cada método de REST.
Para ver ejemplos de cada método, consulta el repositorio de GitHub
googleapis/google-cloud-node.
En el siguiente ejemplo, se lee un 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();
Registra solicitudes y respuestas HTTP
La biblioteca cliente de Node.js admite el registro de solicitudes y respuestas HTTP. De forma predeterminada, la biblioteca cliente inhabilita el registro.
Para habilitar el registro predeterminado en la salida estándar, establece la variable de entorno
GOOGLE_SDK_NODE_LOGGING en una lista separada por comas de nombres de paquetes de la API de Google.
Puedes habilitar el registro para todas las APIs de Google si configuras el valor de la variable como
all. Para ver todos los nombres de paquetes de bibliotecas cliente disponibles, consulta
Bibliotecas cliente de Node.js para Google Cloud
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 o 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, puedes cambiar el backend de registro o conectar eventos de registro. Para obtener más información, consulta Herramientas de Google Logging.
Soluciona errores
En la biblioteca cliente de Node.js, todos los errores de la API de Ad Manager arrojan una excepción de tipo GaxiosError.
Los errores de la API de Ad Manager incluyen un mensaje de error y un valor requestId único
que puedes proporcionar al equipo de asistencia de la API. Para obtener ayuda con
la solución de problemas, consulta Comunícate con el equipo de asistencia de la API. En el
siguiente ejemplo, se extrae el valor requestId y el mensaje de error:
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;
}
}