Google fournit une bibliothèque cliente Node.js pour interagir avec l'API Ad Manager.
Conditions préalables
Pour utiliser la bibliothèque cliente Node.js, vous devez avoir installé Node.js. Pour en savoir plus, consultez Télécharger Node.js®.
Installer la bibliothèque cliente
Pour commencer, créez un projet dans l'IDE de votre choix ou ajoutez la dépendance à un projet existant. Google publie des artefacts de bibliothèque cliente sur npm en tant que @google-ads/admanager
.
package.json
"dependencies": {
"@google-ads/admanager": "^0.4.0"
}
Ligne de commande
npm install @google-ads/admanager
Configurer les identifiants
Pour s'authentifier, la bibliothèque cliente Node.js utilise OAuth2 et les identifiants par défaut de l'application (ADC). Pour créer et configurer vos identifiants ADC, consultez Authentification.
Créer votre première demande
Chaque service possède un objet ServiceClient
avec des méthodes pour chaque méthode REST.
Pour obtenir des exemples de chaque méthode, consultez le dépôt GitHub googleapis/google-cloud-node
.
L'exemple suivant lit un objet 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();
Consigner les requêtes et réponses HTTP
La bibliothèque cliente Node.js permet de consigner les requêtes et les réponses HTTP. Par défaut, la bibliothèque cliente désactive la journalisation.
Pour activer la journalisation par défaut sur la sortie standard, définissez la variable d'environnement GOOGLE_SDK_NODE_LOGGING
sur une liste de noms de packages d'API Google séparés par une virgule.
Vous pouvez activer la journalisation pour toutes les API Google en définissant la valeur de la variable sur all
. Pour connaître tous les noms de packages de bibliothèque cliente disponibles, consultez Bibliothèques clientes 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
Vous pouvez également modifier le backend de journalisation ou accrocher des événements de journal. Pour en savoir plus, consultez Outils de journalisation Google.
Gérer les erreurs
Dans la bibliothèque cliente Node.js, toutes les erreurs de l'API Ad Manager génèrent une exception de type GaxiosError.
Les erreurs de l'API Ad Manager incluent un message d'erreur et une valeur requestId
unique que vous pouvez fournir à l'équipe d'assistance de l'API. Pour obtenir de l'aide concernant le dépannage, consultez Contacter l'assistance API. L'exemple suivant extrait la valeur requestId
et le message d'erreur :
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;
}
}