Google은 Ad Manager API와 상호작용하기 위한 Java 클라이언트 라이브러리를 제공합니다. Apache Maven 또는 Gradle과 함께 클라이언트 라이브러리를 사용하는 것이 좋습니다.
시작하려면 원하는 IDE에서 새 프로젝트를 만들거나
기존 프로젝트에 종속되지 않습니다. Google은 클라이언트 라이브러리 아티팩트를
Maven 중앙 저장소에
com.google.api-ads/ad-manager
Maven
<!-- pom.xml -->
<dependency>
<groupId>com.google.api-ads</groupId>
<artifactId>ad-manager</artifactId>
<version>0.1.0</version>
</dependency>
Gradle
implementation 'com.google.api-ads:ad-manager:0.1.0'
사용자 인증 정보 구성
Java 클라이언트 라이브러리는 OAuth2 및 애플리케이션 기본 사용자 인증 정보를 사용합니다. (ADC)를 통해 인증합니다.
ADC는 다음 위치에서 순서대로 사용자 인증 정보를 검색합니다.
GOOGLE_APPLICATION_CREDENTIALS
환경 변수입니다.- Google Cloud CLI (gcloud CLI)를 통해 설정된 사용자 인증 정보입니다.
- Google Cloud에서 실행할 때 Google Cloud 리소스에 연결된 서비스 계정입니다.
ADC 사용자 인증 정보를 만들고 구성하는 방법은 다음을 참조하세요. 인증.
첫 번째 요청하기
각 서비스에는 동기식 및 비동기식을 모두 사용하는 ServiceClient
객체가 있습니다.
각 REST 메서드마다
메서드를 정의합니다 다음 예는 Network
를 읽습니다.
있습니다.
import com.google.ads.admanager.v1.GetNetworkRequest;
import com.google.ads.admanager.v1.Network;
import com.google.ads.admanager.v1.NetworkName;
import com.google.ads.admanager.v1.NetworkServiceClient;
public class SyncGetNetwork {
public static void main(String[] args) throws Exception {
syncGetNetwork();
}
public static void syncGetNetwork() throws Exception {
try (NetworkServiceClient networkServiceClient = NetworkServiceClient.create()) {
GetNetworkRequest request =
GetNetworkRequest.newBuilder()
.setName(NetworkName.of("[NETWORK_CODE]").toString())
.build();
Network response = networkServiceClient.getNetwork(request);
}
}
}
다른 메서드 및 리소스의 예는 GitHub 저장소를 참조하세요.
googleapis/google-cloud-java
HTTP 요청 및 응답 로깅
com.google.api.client.http.HttpTransport
클래스는 모든 HTTP 요청을 실행합니다.
이 클래스는
java.util.logging
드림
(7월)에 출시되어 URL, 헤더, 및
있습니다.
로깅을 사용 설정하려면 이 클래스의 로거를
CONFIG
이상 이 단계는
구현할 수 있습니다.
7월
로깅을 사용 설정하려면 com.google.api.client.http.level
를 CONFIG
로 설정하거나
logging.properties
파일에서 더 높게 설정합니다.
handlers=java.util.logging.ConsoleHandler
com.google.api.client.http.level=CONFIG
java.util.logging.ConsoleHandler.level=CONFIG
또는 Java 코드에서 로깅을 사용 설정할 수 있습니다.
import com.google.api.client.http.HttpTransport;
import java.util.logging.ConsoleHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
public static void enableLogging() {
Logger logger = Logger.getLogger(HttpTransport.class.getName());
logger.setLevel(Level.CONFIG);
ConsoleHandler handler = new ConsoleHandler();
handler.setLevel(Level.CONFIG);
logger.addHandler(handler);
}
Log4j
로깅에 Log4j를 사용하는 경우
Log4j JDK 로깅 어댑터
JUL 메시지를 로깅합니다. SystemProperty
또는 다음 명령어로 구성할 수 있습니다.
Log4jBridgeHandler
및 JUL logging.properties
파일을 사용합니다.
시스템 속성
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
Log4j 브리지 핸들러
handlers = org.apache.logging.log4j.jul.Log4jBridgeHandler
org.apache.logging.log4j.jul.Log4jBridgeHandler.propagateLevels = true
이 설정은 Ad Manager API 로그를
CONFIG
이상 다음 예시 log4j2.xml
파일은
System.out
에 쓰는 로거입니다.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%m%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="com.google.api.client.http.HttpTransport" level="debug">
<AppenderRef ref="Console"/>
</Logger>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
오류 처리
모든 Ad Manager API 오류는 ApiException API에 액세스할 수 있습니다
404 Not Found
및 401 Unauthorized
를 제외한 모든 오류에 ErrorDetails
이(가) 포함됩니다.
확인할 수 있습니다
파싱 오류
오류 이유 필드는 오류 유형을 고유하게 식별합니다. 사용 이 필드를 사용하여 오류 처리 방법을 결정합니다.
ErrorDetails errorDetails = apiException.getErrorDetails();
if (errorDetails != null) {
// Unique error code in UPPER_SNAKE_CASE.
String errorCode = errorDetails.getReason();
}
Ad Manager API 오류에는 고유한 request_id
도 포함되며
지원팀에 제공하여
문제를 해결할 수 있습니다. 다음 예는
request_id
ErrorDetails errorDetails = apiException.getErrorDetails();
if (errorDetails != null && errorDetails.getRequestInfo() != null) {
// Unique request identifier.
String requestId = errorDetails.getRequestInfo().getRequestId();
}
리소스 이름 구성
클라이언트 라이브러리는 있습니다.
import com.google.ads.admanager.v1.OrderName;
// ...
// Constructs a String in the format:
// "networks/{networkCode}/orders/{orderId}"
OrderName.of("123", "789");
프록시 설정 구성
Java 클라이언트 라이브러리는 http.proxyHost
와 https.proxyHost
를 모두 준수합니다.
시스템 속성 설정 이 설정에 대한 자세한 내용은 다음을 참고하세요.
자바 네트워킹 및 프록시