Java

توفّر Google مكتبة لعملاء 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 عن بيانات الاعتماد بالترتيب في المواقع التالية:

  1. متغيّر بيئة واحد (GOOGLE_APPLICATION_CREDENTIALS)
  2. إعداد بيانات اعتماد المستخدم من خلال واجهة سطر الأوامر في Google Cloud (gcloud CLI).
  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);
    }
  }
}

للحصول على أمثلة حول طرق وموارد أخرى، يُرجى الاطّلاع على مستودع جيت هب googleapis/google-cloud-java

تسجيل طلبات HTTP واستجاباته

تُجري الفئة com.google.api.client.http.HttpTransport جميع طلبات HTTP. يستخدم هذا الصف java.util.logging (JUL) لتسجيل طلب HTTP وتفاصيل الاستجابة، بما في ذلك عنوان URL والعناوين المحتوى.

لتفعيل عملية التسجيل، اضبط المسجّل لهذه الفئة على مستوى السجلّ 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);
}

Log4j

إذا كنت تستخدم Log4j للتسجيل، يمكنك استخدام مهايئ تسجيل Log4j JDK لتسجيل رسائل تموز (يوليو). يمكن ضبط ذلك من خلال 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

تؤدي هذه الإعدادات إلى كتابة سجلّات واجهة برمجة تطبيقات "مدير الإعلانات" إلى أي أداة مسجّلة تتضمّن مستوى من 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>

التعامل مع الأخطاء

جميع أخطاء واجهة برمجة تطبيقات "مدير الإعلانات" هي فئات فرعية من ApiException في مكتبة برامج Java.

جميع الأخطاء باستثناء 404 Not Found و401 Unauthorized تحتوي على ErrorDetails. بمعلومات إضافية.

أخطاء التحليل

يحدد حقل سبب الخطأ أنواع الخطأ بشكل فريد. استخدام هذا الحقل لتحديد كيفية التعامل مع الخطأ.

ErrorDetails errorDetails = apiException.getErrorDetails();
if (errorDetails != null) {
  // Unique error code in UPPER_SNAKE_CASE.
  String errorCode = errorDetails.getReason();
}

تتضمّن أخطاء واجهة برمجة تطبيقات "مدير الإعلانات" أيضًا 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 والخوادم الوكيلة.