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 dihasilkan untuk Google API, buka daftar Google API yang didukung.) Berikut adalah 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 bantuan untuk batching, upload media, dan download media.
Library ini menyertakan library autentikasi andal yang dapat mengurangi jumlah kode yang Anda perlukan untuk menangani OAuth 2.0. Terkadang Anda hanya perlu 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");
}
Helper khusus App Engine dapat dengan cepat melakukan panggilan yang diautentikasi ke API, dan Anda tidak perlu khawatir dengan pertukaran kode dengan 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();
   ...
 }
Library Klien Google untuk class helper khusus Android di 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 Anda:
 <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 Anda:
 repositories {
      mavenCentral()
  }
  dependencies {
      compile 'com.google.api-client:google-api-client:1.32.1'
  }
Untuk mengetahui detail selengkapnya tentang 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: