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>
ग्रेडल
implementation 'com.google.api-ads:ad-manager:0.1.0'
क्रेडेंशियल कॉन्फ़िगर करना
Java क्लाइंट लाइब्रेरी, OAuth2 और ऐप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करती है (एडीसी).
ADC इन स्थानों में क्रेडेंशियल की खोज करता है:
GOOGLE_APPLICATION_CREDENTIALS
एनवायरमेंट वैरिएबल.- Google Cloud सीएलआई (gcloud सीएलआई) के ज़रिए सेट अप किए गए उपयोगकर्ता क्रेडेंशियल.
- 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
.
एचटीटीपी अनुरोधों और जवाबों को लॉग करें
com.google.api.client.http.HttpTransport
क्लास सभी एचटीटीपी अनुरोध करती है.
यह क्लास,
java.util.logging
(JUL) यूआरएल, हेडर, और मैसेज के एचटीटीपी अनुरोध और उसके रिस्पॉन्स की जानकारी को लॉग करने के लिए
कॉन्टेंट.
लॉगिंग सक्षम करने के लिए, इस कक्षा के लिए लॉगर को के लॉग स्तर पर सेट करें
CONFIG
या उससे ज़्यादा. इसके लिए चरण अलग-अलग होते हैं. यह इस पर निर्भर करता है कि कौनसा डेटा लॉग किया गया है
लागू किया जाता है.
जुलाई
डेटा लॉग करने की सुविधा चालू करने के लिए, 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);
}
लॉग4जे
अगर लॉग इन करने के लिए Log4j का इस्तेमाल किया जाता है, तो
Log4j JDK लॉगिंग अडैप्टर
JUL मैसेज लॉग करने के लिए. इसे SystemProperty
या इसके ज़रिए कॉन्फ़िगर किया जा सकता है
Log4jBridgeHandler
और जुलाई 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 एपीआई लॉग को,
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 में आपको ज़्यादा जानकारी मिल सकती है.
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
, दोनों का इस्तेमाल किया जाता है
सिस्टम प्रॉपर्टी सेटिंग. इन सेटिंग के बारे में ज़्यादा जानकारी के लिए, यह देखें
Java नेटवर्किंग और प्रॉक्सी.