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