Akses Google API dengan mudah dari Java

Library Klien Google API untuk Java menyediakan fungsi yang umumnya tersedia di semua Google API, misalnya transpor HTTP, penanganan error, autentikasi, penguraian JSON, download/upload media, dan pengelompokan. Library ini mencakup library OAuth 2.0 yang andal dengan antarmuka yang konsisten; model data XML dan JSON yang ringan dan efisien yang mendukung skema data apa pun; serta dukungan untuk buffering protokol.

Agar dapat memanggil Google API menggunakan library klien Google untuk Java, Anda memerlukan library Java yang dihasilkan untuk Google API yang Anda akses. Library yang dihasilkan ini mencakup library inti google-api-java-client bersama dengan informasi khusus API seperti URL root. Class tersebut juga mencakup class yang mewakili entity dalam konteks API, dan berguna untuk melakukan konversi antara objek JSON dan objek Java.
Fitur yang ditandai dengan @Beta di tingkat class atau metode dapat berubah. LLM dapat diubah atau dihapus dalam setiap rilis utama. Jangan gunakan fitur beta jika kode Anda adalah library itu sendiri (yaitu, jika kode Anda digunakan pada CLASSPATH pengguna di luar kontrol Anda).
Fitur non-beta yang tidak digunakan lagi akan dihapus delapan belas bulan setelah dirilis, saat fitur tersebut pertama kali tidak digunakan lagi. Anda harus memperbaiki penggunaan Anda sebelum waktu ini. Jika tidak, semua jenis kerusakan dapat terjadi, dan Anda tidak dijamin akan mengalami error kompilasi.

Sorotan Library Klien Google API untuk Java

Anda dapat memanggil Google API menggunakan library yang dihasilkan khusus layanan Google dengan Library Klien Google API untuk Java. (Untuk menemukan library klien yang dibuat untuk Google API, buka daftar Google API yang didukung.) Berikut ini contoh yang menggunakan Library Klien Calendar API untuk Java guna melakukan panggilan ke Google Calendar API:
 // Show events on user's calendar.
 View.header("Show Calendars");
 CalendarList feed = client.calendarList().list().execute();
 View.display(feed);

Library ini memudahkan pengelompokan dan upload/download media

Library ini menawarkan class helper untuk pengelompokan, upload media, dan download media.
Library ini menyertakan library autentikasi canggih yang dapat mengurangi jumlah kode yang Anda perlukan untuk menangani OAuth 2.0. Terkadang, Anda hanya memerlukan beberapa baris. Contoh:
 /** 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");
}
Penolong khusus App Engine mempercepat panggilan yang diautentikasi ke API, dan Anda tidak perlu khawatir tentang pertukaran kode untuk token.

Contoh:
 @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();
   ...
 }
Class helper khusus Android Library Klien Google untuk Java terintegrasi dengan baik dengan Android AccountManager. Contoh:
 @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();
 }
Jika tidak menggunakan library yang dibuat, Anda dapat mendownload biner untuk Library Klien Google API untuk Java langsung dari halaman download, atau Anda dapat menggunakan Maven atau Gradle. Untuk menggunakan Maven, tambahkan baris berikut ke file pom.xml:
 <project>
  <dependencies>
   <dependency>
     <groupId>com.google.api-client</groupId>
     <artifactId>google-api-client</artifactId>
     <version>1.32.1</version>
   </dependency>
  </dependencies>
 </project>

Untuk menggunakan Gradle, tambahkan baris berikut ke file build.gradle:
 repositories {
      mavenCentral()
  }
  dependencies {
      compile 'com.google.api-client:google-api-client:1.32.1'
  }
Untuk mengetahui detail selengkapnya tentang cara menginstal dan menyiapkan Library Klien Google API untuk Java, lihat petunjuk download dan penyiapan.
Library Klien Google API untuk Java mendukung lingkungan Java ini:
  • Java 7 atau yang lebih tinggi, standar (SE) dan enterprise (EE).
  • Mesin Google App.
  • Android 4.4 atau yang lebih tinggi — tetapi jika library Layanan Google Play tersedia untuk layanan Google yang Anda butuhkan, gunakan library tersebut, bukan library ini. Koleksi Google Play akan memberikan performa dan pengalaman terbaik.
Tidak didukung: Google Web Toolkit (GWT), Java mobile (ME), dan Java 6 (atau yang lebih lama).

Dependensi

Library Klien Google API untuk Java (google-api-java-client) dibuat di atas dua library umum, juga dibuat oleh Google, dan dirancang untuk berfungsi dengan layanan HTTP apa pun di web: