الوصول إلى 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 APIs باستخدام المكتبات التي تم إنشاؤها خصيصًا لخدمة Google من خلال مكتبة برامج Google API للغة Java. (للعثور على مكتبة العملاء التي تم إنشاؤها لإحدى واجهات برمجة تطبيقات Google، يُرجى الانتقال إلى قائمة واجهات Google API المتوافقة). في ما يلي مثال على استخدام مكتبة برامج واجهة برمجة تطبيقات "تقويم Google" للغة Java لإجراء اتصال بواجهة Google Calendar API:
 // 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 مع بيئات جافا التالية:
  • الإصدار 7 أو أعلى من الإصدار العادي (SE) والإصدار Enterprise (EE).
  • Google App Engine
  • الإصدار 4.4 من نظام Android أو الإصدارات الأحدث، ولكن في حال توفّر مكتبة خدمات Google Play لخدمة Google التي تحتاجها، يمكنك استخدام تلك المكتبة بدلاً من هذه المكتبة. تقدم لك مكتبة Google Play أفضل أداء وأفضل تجربة ممكنة.
غير متوافق: مجموعة أدوات الويب من Google (GWT) وJava mobile (ME) وJava 6 (أو الإصدارات الأقدم).

التبعيات

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