توفّر 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 عن بيانات الاعتماد بالترتيب في المواقع التالية:
- متغيّر بيئة واحد (
GOOGLE_APPLICATION_CREDENTIALS
) - إعداد بيانات اعتماد المستخدم من خلال واجهة سطر الأوامر في Google Cloud (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);
}
}
}
للحصول على أمثلة حول طرق وموارد أخرى، يُرجى الاطّلاع على مستودع جيت هب
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 والخوادم الوكيلة.