גישה נוחה לממשקי Google API מתוך Java

ספריית הלקוח של Google API ל-Java מספקת פונקציונליות משותפת לכל ממשקי ה-API של Google. לדוגמה, העברת HTTP, טיפול בשגיאות, אימות, ניתוח JSON, הורדה/העלאה של מדיה וקיבוץ. הספרייה כוללת ספריית OAuth 2.0 מתקדמת עם ממשק עקבי; מודלים קלים ויעילים של נתוני XML ו-JSON שתומכים בכל סכימת נתונים; תמיכה במאגרי אחסון לפרוטוקולים.

כדי להתקשר ל-Google API באמצעות ספריות לקוח של Google&#39, יש להשתמש בספריית Java שנוצרה עבור Google API שאליו מתבצעת גישה. ספריות שנוצרו כוללות את ספריית הליבה של google-api-Java-client יחד עם מידע ספציפי ל-API, כמו כתובת האתר הבסיסית. הן גם כוללות מחלקות שמייצגות ישויות בהקשר של ה-API, והן מועילות לביצוע המרות בין אובייקטים של JSON לבין אובייקטים של Java.
תכונות שמסומנות ב- @בטא ברמת הכיתה או השיטה עשויות להשתנות. הם עשויים להשתנות או יוסרו בגרסה ראשית כלשהי. אל תשתמש בתכונות בטא אם הקוד הוא הספרייה עצמה (כלומר, אם נעשה שימוש בקוד ב-CLASSPath של משתמשים שאינם בשליטתך).
תכונות שאינן בגרסת בטא שהוצאו משימוש יוסרו 18 חודשים לאחר הפרסום שבו הן הוצאו משימוש לראשונה. עליך לתקן את השימושים שלך לפני המועד הזה. אם לא תעשו זאת, תיתכן שבירה מכל סוג שהוא ולא מובטחת לכם שגיאת הידור.

המיטב של ספריית הלקוח של Google API עבור Java

באמצעות ספריית הלקוח של Google API ל-Java אפשר לקרוא לממשקי ה-API של Google באמצעות ספריות שנוצרות על ידי שירות Google ספציפי. (כדי למצוא את ספריית הלקוח שנוצרה עבור Google API, בקר ברשימת ממשקי ה-API הנתמכים של Google). לפניכם דוגמה שמשתמשת בספריית הלקוח של Calendar API ל-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");
}
עוזרים ספציפיים ל-App Engine מבצעים במהירות קריאות מאומתות לממשקי API, ואין צורך להחליף קוד באסימונים.

לדוגמה:
 @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 ל-Android משולבת היטב ב-Android AccountManager. לדוגמה:
 @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'
  }
לפרטים נוספים על התקנה והגדרה של ממשק ה-API של Google לספריית הלקוח ל-Java, הורדה והוראות הגדרה.
ספריית הלקוח של Google API עבור Java תומכת בסביבות Java הבאות:
  • Java 7 ואילך, גרסה רגילה (SE) וגרסה ארגונית (EE).
  • Google App Engine.
  • Android מגרסה 4.4 ואילך — אבל אם ספרייה של Google Play Services זמינה עבור שירות Google הדרוש לך, יש להשתמש בספרייה הזו במקום בספרייה הזו. ספריית Google Play תספק לך את הביצועים והחוויה הכי טובים שאפשר.
לא נתמך: Google Web Toolkit (GWT), Java לנייד (ME) ו-Java 6 (או גרסאות קודמות).

יחסי תלות

ספריית הלקוח של Google API עבור Java (google-api-java-client) מבוססת על שתי ספריות נפוצות, שנבנו גם על ידי Google, ונועדה לעבוד עם כל שירות HTTP באינטרנט: