الوصول إلى Google APIs بسهولة من Java

إنّ "مكتبة برامج Google API" للغة Java توفّر وظائف شائعة في جميع Google APIs، مثل نقل HTTP ومعالجة الأخطاء والمصادقة وتحليل JSON وتنزيل الوسائط/تحميلها المجمّع. تتضمّن المكتبة مكتبة OAuth 2.0 فعّالة مع واجهة متسقة، ونماذج بيانات XML وJSON خفيفة وفعّالة تتوافق مع أي مخطط بيانات، وتوفر مخازن البروتوكولات المؤقتة.

لاستدعاء واجهة برمجة تطبيقات Google باستخدام مكتبات عملاء Google's للغة Java، تحتاج إلى مكتبة Java التي تم إنشاؤها لواجهة برمجة تطبيقات Google التي تصل إليها. وتتضمن هذه المكتبات التي تم إنشاؤها مكتبة google-api-java-client الأساسية إلى جانب معلومات خاصة بواجهة برمجة التطبيقات، مثل عنوان URL الجذر. كما تتضمّن أيضًا الفئات التي تمثّل الكيانات في سياق واجهة برمجة التطبيقات، والتي تكون مفيدة لإجراء الإحالات الناجحة بين كائنات JSON وكائنات Java.
تخضع الميزات التي تم وضع علامة @إصدار تجريبي عليها على مستوى الصف أو الطريقة للتغيير. وقد يتم تعديلها أو إزالتها في أي إصدار رئيسي. لا تستخدم الميزات التجريبية إذا كان الرمز عبارة عن مكتبة بحد ذاتها (أي إذا تم استخدام الرمز في ClassPATH للمستخدمين خارج نطاق التحكم).
ستتم إزالة الميزات غير التجريبية التي تم إيقافها بعد ثمانية عشر شهرًا من تاريخ الإصدار الذي تم إيقاف العمل به لأول مرة. يجب إصلاح حالات الاستخدام قبل هذا الوقت. وإذا لم تفعل ذلك، قد ينجم عن أي نوع من الأعطال، ولن نضمن لك حدوث خطأ أثناء التجميع.

العناصر المميزة في مكتبة عملاء Google API لـ Java

يمكنك طلب واجهات برمجة تطبيقات Google باستخدام المكتبات التي يتم إنشاؤها باستخدام خدمة Google من خلال "مكتبة برامج Google API" للغة Java. (للعثور على مكتبة العملاء التي تم إنشاؤها لواجهة برمجة تطبيقات Google، انتقِل إلى قائمة واجهات برمجة تطبيقات Google المتوافقة). في ما يلي مثال يستخدم مكتبة عميل Calendar API لـ Java لإجراء استدعاء لواجهة برمجة تطبيقات Google Calendar:
 // Show events on user's calendar.
 View.header("Show Calendars");
 CalendarList feed = client.calendarList().list().execute();
 View.display(feed);

تعمل المكتبة على تسهيل عملية التحميل/التحميل والوسائط/التنزيل بسهولة.

وتقدّم المكتبة دروسًا مساعدة للدفعات وتحميل الوسائط وتنزيل الوسائط.
تتضمّن المكتبة مكتبة مصادقة فعّالة يمكن أن تقلل حجم الرموز التي تحتاجها للتعامل مع OAuth 2.0. قد تحتاج أحيانًا إلى إضافة بضعة أسطر. على سبيل المثال:
 /** Authorizes the installed application to access user's protected data. */
 private static Credential authorize() throws Exception {
   // load client secrets
   GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY,
       new InputStreamReader(CalendarSample.class.getResourceAsStream("/client_secrets.json")));
   // set up authorization code flow
   GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
       httpTransport, JSON_FACTORY, clientSecrets,
       Collections.singleton(CalendarScopes.CALENDAR)).setDataStoreFactory(dataStoreFactory)
      .build();
   // authorize
   return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
}
أدوات مساعدة التطبيقات الخاصة بمحرّك التطبيقات تتيح تنفيذ عمليات سريعة من خلال الطلبات التي تمت مصادقتها لواجهات برمجة التطبيقات، ولا داعي للقلق بشأن استبدال الرمز بالرموز المميّزة.

على سبيل المثال:
 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
   AppIdentityCredential credential =
       new AppIdentityCredential(Arrays.asList(UrlshortenerScopes.URLSHORTENER));
   Urlshortener shortener =
       new Urlshortener.Builder(new UrlFetchTransport(), new JacksonFactory(), credential)
       .build();
   UrlHistory history = shortener.URL().list().execute();
   ...
 }
إنّ مكتبة "مكتبة عملاء Google" لصفوف المساعد الخاصة بلغة Java&#39؛ والتي تعمل بنظام التشغيل Android، مدمجة بشكل جيد مع مدير حساب Android. على سبيل المثال:
 @Override
 public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   // Google Accounts
   credential =
       GoogleAccountCredential.usingOAuth2(this, Collections.singleton(TasksScopes.TASKS));
   SharedPreferences settings = getPreferences(Context.MODE_PRIVATE);
   credential.setSelectedAccountName(settings.getString(PREF_ACCOUNT_NAME, null));
   // Tasks client
   service =
       new com.google.api.services.tasks.Tasks.Builder(httpTransport, jsonFactory, credential)
           .setApplicationName("Google-TasksAndroidSample/1.0").build();
 }
إذا كنت لا تستخدم مكتبة تم إنشاؤها، يمكنك تنزيل البرنامج الثنائي لمكتبة عميل Google API لـ Java مباشرةً من صفحة عمليات التنزيل، أو يمكنك استخدام Maven أو Gradle. لاستخدام Maven، أضِف الأسطر التالية إلى ملف pom.xml:
 <project>
  <dependencies>
   <dependency>
     <groupId>com.google.api-client</groupId>
     <artifactId>google-api-client</artifactId>
     <version>1.32.1</version>
   </dependency>
  </dependencies>
 </project>

لاستخدام Gradle، أضِف الأسطر التالية إلى ملف build.gradle:
 repositories {
      mavenCentral()
  }
  dependencies {
      compile 'com.google.api-client:google-api-client:1.32.1'
  }
للحصول على مزيد من التفاصيل حول تثبيت "مكتبة العميل في Google API " لـ Java وإعدادها، راجِع تعليمات التنزيل والإعداد.
تتوافق"مكتبة برامج Google API"للغة Java مع البيئات التالية:
  • لغة Java 7 أو أعلى، والعادية (SE) والمؤسسة (EE).
  • محرك تطبيقات Google.
  • الإصدار 4.4 من نظام التشغيل Android أو الإصدارات الأحدث، ولكن إذا كانت مكتبة خدمات Google Play متاحة لخدمة Google التي تحتاج إليها، استخدم هذه المكتبة بدلاً من هذه المكتبة. ستقدّم لك "مكتبة Google Play" أفضل أداء ممكن وتجربة أفضل.
غير متوافق: مجموعة أدوات الويب من Google (GWT) وJava Mobile (ME) وJava 6 (أو الإصدارات الأقدم).

المهام التابعة

تم إنشاء"مكتبة برامج Google API"للغة Java (google-api-java-client) فوق مكتبتَين شائعتَين، صمّمتها Google أيضًا، وتم تصميمها للعمل مع أي خدمة HTTP على الويب: