الوصول إلى 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.
لاستدعاء واجهة برمجة تطبيقات Google باستخدام مكتبات عملاء Google's للغة Java، تحتاج إلى مكتبة Java التي تم إنشاؤها لواجهة برمجة تطبيقات Google التي تصل إليها. وتتضمن هذه المكتبات التي تم إنشاؤها مكتبة google-api-java-client الأساسية إلى جانب معلومات خاصة بواجهة برمجة التطبيقات، مثل عنوان URL الجذر. كما تتضمّن أيضًا الفئات التي تمثّل الكيانات في سياق واجهة برمجة التطبيقات، والتي تكون مفيدة لإجراء الإحالات الناجحة بين كائنات JSON وكائنات Java.
الميزات التي تم إيقافها نهائيًا
وستتم إزالة الميزات غير التجريبية التي تم إيقافها نهائيًا بعد ثمانية عشر شهرًا من تاريخ الإصدار الذي تم إيقافها فيه لأول مرة. عليك إصلاح حالات الاستخدام قبل هذا الوقت. وإذا لم تفعل ذلك، قد ينتج أي نوع من الأعطال، ولا يمكنك ضمان حدوث خطأ في التحويل البرمجي.
أبرز النقاط في مكتبة برامج Google API للغة Java
من السهل استدعاء Google APIs
يمكنك استدعاء واجهات 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"); }
يتم تشغيل المكتبة باستخدام Google App Engine
أدوات مساعدة التطبيقات الخاصة بمحرّك التطبيقات تتيح تنفيذ عمليات سريعة من خلال الطلبات التي تمت مصادقتها لواجهات برمجة التطبيقات، ولا داعي للقلق بشأن استبدال الرمز بالرموز المميّزة.
على سبيل المثال:
على سبيل المثال:
@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(); ... }
وتعمل المكتبة بنظام التشغيل Android 4.4 أو إصدار أحدث.
إنّ مكتبة "مكتبة عملاء Google" لصفوف المساعد الخاصة بلغة Java'؛ والتي تعمل بنظام التشغيل 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:
لاستخدام Gradle، أضِف الأسطر التالية إلى ملف build.gradle:
<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 أفضل أداء وأفضل تجربة ممكنة.