Java

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 इन स्थानों में क्रेडेंशियल की खोज करता है:

  1. GOOGLE_APPLICATION_CREDENTIALS एनवायरमेंट वैरिएबल.
  2. Google Cloud सीएलआई (gcloud सीएलआई) के ज़रिए सेट अप किए गए उपयोगकर्ता क्रेडेंशियल.
  3. 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 नेटवर्किंग और प्रॉक्सी.