גישה נוחה לממשקי 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();
   ...
 }
כיתות העזרה הספציפיות ל-Android בספריית הלקוח של Google ל-Java משתלבות היטב עם 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'
  }
פרטים נוספים על התקנה והגדרה של ספריית הלקוח של Google API עבור 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 באינטרנט: