גישה נוחה לממשקי 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 APIs באמצעות ספריות ספציפיות לשירות של Google עם ספריית הלקוח של Google API עבור Java. (כדי למצוא את ספריית הלקוח שנוצרה עבור Google API, אפשר להיכנס לרשימה של Google APIs נתמכים). זוהי דוגמה לשימוש בספריית הלקוח של Calendar API עבור Java כדי לבצע קריאה לממשק ה-API של יומן Google:
 // 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 למחלקות העזרה הספציפיות ל-Android& משולבת ב-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 או ב-Gadle. כדי להשתמש ב-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>

כדי להשתמש ב-Gadle, מוסיפים את השורות הבאות לקובץ build.gradle:
 repositories {
      mavenCentral()
  }
  dependencies {
      compile 'com.google.api-client:google-api-client:1.32.1'
  }
לפרטים נוספים על ההתקנה וההגדרה של ספריית הלקוח ב-Google API, יש לעיין בהוראות ההורדה וההגדרה.
ספריית הלקוח של 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 באינטרנט: