Node.js

Google에서는 Ad Manager API와 상호작용하기 위한 Node.js 클라이언트 라이브러리를 제공합니다.

기본 요건

Node.js 클라이언트 라이브러리를 사용하려면 Node.js가 설치되어 있어야 합니다. 자세한 내용은 Node.js® 다운로드를 참고하세요.

클라이언트 라이브러리 설치

시작하려면 원하는 IDE에서 새 프로젝트를 만들거나 기존 프로젝트에 종속 항목을 추가합니다. Google은 클라이언트 라이브러리 아티팩트를 npm에 @google-ads/admanager로 게시합니다.

package.json

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

명령줄

npm install @google-ads/admanager

사용자 인증 정보 구성

인증을 위해 Node.js 클라이언트 라이브러리는 OAuth2 및 애플리케이션 기본 사용자 인증 정보 (ADC)를 사용합니다. ADC 사용자 인증 정보를 만들고 구성하는 방법은 인증을 참고하세요.

첫 번째 요청하기

각 서비스에는 각 REST 메서드의 메서드가 있는 ServiceClient 객체가 있습니다. 각 메서드의 예시는 GitHub 저장소 googleapis/google-cloud-node를 참고하세요. 다음 예에서는 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();

HTTP 요청 및 응답 로깅

Node.js 클라이언트 라이브러리는 HTTP 요청 및 응답 로깅을 지원합니다. 기본적으로 클라이언트 라이브러리는 로깅을 사용 중지합니다.

표준 출력에 기본 로깅을 사용 설정하려면 환경 변수 GOOGLE_SDK_NODE_LOGGING을 쉼표로 구분된 Google API 패키지 이름 목록으로 설정합니다. 변수 값을 all로 설정하여 모든 Google API에 로깅을 사용 설정할 수 있습니다. 사용 가능한 모든 클라이언트 라이브러리 패키지 이름은 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 또는 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

또는 로깅 백엔드를 변경하거나 로그 이벤트를 후킹할 수 있습니다. 자세한 내용은 Google 로깅 도구를 참고하세요.

오류 처리

Node.js 클라이언트 라이브러리에서 모든 Ad Manager API 오류는 GaxiosError 유형의 예외를 발생시킵니다.

Ad Manager API 오류에는 오류 메시지와 API 지원팀에 제공할 수 있는 고유한 requestId 값이 포함됩니다. 문제 해결에 관한 지원이 필요하면 Contact API support(API 지원팀에 문의)를 참고하세요. 다음 예에서는 requestId 값과 오류 메시지를 추출합니다.

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