גישה קלה ל-Google APIs מ-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.
התכונות המסומנות ב- @beta ברמת הכיתה או השיטה עשויות להשתנות. ניתן לשנות או להסיר אותן בכל אחת מהגרסאות הראשיות. אין להשתמש בתכונות בטא אם הקוד הוא ספרייה עצמה (כלומר, אם הקוד נמצא בשימוש ב-NVDAPath של משתמשים שאינם בשליטתכם).
תכונות שהוצאו משימוש ולא בגרסת בטא יוסרו 18 חודשים אחרי ההשקה. עליך לתקן את השימושים שלך לפני מועד זה. אם לא תעשו זאת, ייתכן ש קיימת תקלה בכל סוג שהוא ולא תקבלו שגיאת איסוף.

הדגשים על ספריית הלקוח של Google API ל-Java

ניתן לקרוא ל-Google APIs באמצעות ספריות שנוצרו במיוחד לשירות Google, באמצעות ספריית הלקוח של Google API ל-Java. (כדי למצוא את ספריית הלקוח שנוצרה עבור Google API, יש להיכנס לרשימת ממשקי ה-API הנתמכים של Google. לפניכם דוגמה לשימוש בספריית הלקוח של ממשק ה-API של יומן Google ל-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 mobile (ME) ו-Java 6 (או מוקדם יותר).

יחסי תלות

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