Node.js

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