Node.js

Google udostępnia bibliotekę klienta Node.js do interakcji z interfejsem Ad Manager API.

Warunek wstępny

Aby korzystać z biblioteki klienta Node.js, musisz mieć zainstalowane środowisko Node.js. Więcej informacji znajdziesz w artykule Pobieranie Node.js®.

Instalowanie biblioteki klienta

Aby rozpocząć, utwórz nowy projekt w wybranym IDE lub dodaj zależność do istniejącego projektu. Google publikuje artefakty biblioteki klienta w npm jako @google-ads/admanager.

package.json

"dependencies": {
  "@google-ads/admanager": "^0.4.0"
}

Wiersz poleceń

npm install @google-ads/admanager

Konfigurowanie danych logowania

Do uwierzytelniania biblioteka klienta Node.js używa protokołu OAuth2 i domyślnych danych logowania aplikacji (ADC). Informacje o tworzeniu i konfigurowaniu danych logowania ADC znajdziesz w sekcji Uwierzytelnianie.

Prześlij pierwszą prośbę

Każda usługa ma obiekt ServiceClient z metodami dla każdej metody REST. Przykłady każdej metody znajdziesz w repozytorium GitHub googleapis/google-cloud-node. Ten przykład odczytuje obiekt 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();

Rejestrowanie żądań i odpowiedzi HTTP

Biblioteka klienta Node.js obsługuje rejestrowanie żądań i odpowiedzi HTTP. Domyślnie biblioteka klienta wyłącza rejestrowanie.

Aby włączyć domyślne rejestrowanie w standardowym wyjściu, ustaw zmienną środowiskową GOOGLE_SDK_NODE_LOGGING na listę nazw pakietów interfejsu Google API rozdzieloną przecinkami. Rejestrowanie możesz włączyć w przypadku wszystkich interfejsów API Google, ustawiając wartość zmiennej na all. Listę wszystkich dostępnych nazw pakietów biblioteki klienta znajdziesz w artykule Biblioteki klienta 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 lub 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

Możesz też zmienić backend rejestrowania lub podłączyć zdarzenia dziennika. Więcej informacji znajdziesz w artykule Narzędzia Google do rejestrowania.

Obsługuj błędy

W bibliotece klienta Node.js wszystkie błędy interfejsu Ad Managera powodują zgłoszenie wyjątku typu GaxiosError.

Błędy interfejsu Ad Managera API zawierają komunikat o błędzie i unikalną wartość requestId, którą możesz przekazać zespołowi pomocy interfejsu API. Aby uzyskać pomoc w rozwiązywaniu problemów, zobacz Kontakt z zespołem pomocy ds. interfejsu API. W tym przykładzie wyodrębniamy wartość requestId i komunikat o błędzie:

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