Google stellt eine Node.js-Clientbibliothek für die Interaktion mit der Ad Manager API bereit.
Voraussetzungen
Wenn Sie die Node.js-Clientbibliothek verwenden möchten, muss Node.js installiert sein. Weitere Informationen finden Sie unter Node.js® herunterladen.
Clientbibliothek installieren
Erstellen Sie dazu ein neues Projekt in der IDE Ihrer Wahl oder fügen Sie die Abhängigkeit einem vorhandenen Projekt hinzu. Google veröffentlicht Clientbibliotheksartefakte als @google-ads/admanager
auf npm.
package.json
"dependencies": {
"@google-ads/admanager": "^0.4.0"
}
Befehlszeile
npm install @google-ads/admanager
Anmeldedaten konfigurieren
Zur Authentifizierung verwendet die Node.js-Clientbibliothek OAuth 2.0 und Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC). Informationen zum Erstellen und Konfigurieren von ADC-Anmeldedaten finden Sie unter Authentifizierung.
Erste Anfrage senden
Jeder Dienst hat ein ServiceClient
-Objekt mit Methoden für jede REST-Methode.
Beispiele für die einzelnen Methoden finden Sie im GitHub-Repository googleapis/google-cloud-node
.
Im folgenden Beispiel wird ein Network
-Objekt gelesen:
// 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();
HTTP-Anfragen und ‑Antworten protokollieren
Die Node.js-Clientbibliothek unterstützt die Protokollierung von HTTP-Anfragen und ‑Antworten. Standardmäßig ist das Logging in der Clientbibliothek deaktiviert.
Wenn Sie die Standardprotokollierung in der Standardausgabe aktivieren möchten, legen Sie die Umgebungsvariable GOOGLE_SDK_NODE_LOGGING
auf eine durch Kommas getrennte Liste von Google API-Paketnamen fest.
Sie können die Protokollierung für alle Google-APIs aktivieren, indem Sie den Variablenwert auf all
festlegen. Alle verfügbaren Clientbibliotheks-Paketnamen finden Sie unter Google Cloud Node.js-Clientbibliotheken
.
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 oder 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
Alternativ können Sie das Logging-Backend ändern oder Log-Ereignisse einbinden. Weitere Informationen finden Sie unter Google Logging Tools.
Fehler verarbeiten
In der Node.js-Clientbibliothek wird bei allen Ad Manager API-Fehlern eine Ausnahme vom Typ GaxiosError ausgelöst.
Ad Manager API-Fehler enthalten eine Fehlermeldung und einen eindeutigen requestId
-Wert, den Sie dem API-Supportteam mitteilen können. Wenn Sie Hilfe bei der Fehlerbehebung benötigen, lesen Sie den Abschnitt API-Support kontaktieren. Im folgenden Beispiel werden der Wert requestId
und die Fehlermeldung extrahiert:
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;
}
}