Memulai Library Klien Java Data Google

Stephanie Liu, Tim Google Data API
September 2007
  1. Pengantar
  2. Menginstal Dependensi
    1. Di Windows
    2. Di Mac OS X
    3. Di Linux
  3. Menginstal Library Klien Data Google
  4. Contoh Penggunaan
  5. Membuat Aplikasi Anda Sendiri
  6. Kesimpulan
  7. Lampiran: Menetapkan Variabel Lingkungan

Pengantar

Tidak mudah untuk mulai mengembangkan API yang tidak dikenal, jadi artikel ini memiliki petunjuk langkah demi langkah tentang cara mengunduh dan memasang Java Client Library Google Data API ("GData"). Saya akan membahas cara mendapatkan semua dependensi dan menyetel variabel lingkungan yang akan Anda perlukan. Anda akan menggabungkan berbagai layanan GData dalam waktu singkat!

Menggunakan Eclipse?

Lihat artikel Coding dalam Shade: Menggunakan Eclipse dengan Google Data API.

Menginstal Dependensi

Library Klien Java GData memiliki dependensi eksternal berikut. Bagian berikut akan menjelaskan cara menginstal dependensi ini pada sistem operasi favorit Anda (atau OS yang Anda gunakan untuk bekerja).

  • JDK (Java Development Kit) versi 1.5+
  • Apache Ant versi 1.7+
  • mail.jar di JavaMail API 1.4+ milik Sun
  • aktivasi.jar di JavaBeansAktivasi Framework Sun. Ini hanya diperlukan untuk API khusus media termasuk API Data Daftar Dokumen, API Album Web Picasa, dan YouTube Data API.
  • servlet.jar di Sun's Servlet API versi 2.3+. Ini hanya diperlukan jika mengeksekusi contoh kode dalam paket 'sample.authsub' atau 'sample.gbase.Recipe'.

Beberapa dependensi .jar hanya diperlukan untuk sampel tertentu, tetapi untuk menghindari error build, sebaiknya dapatkan semuanya. Pilih sistem operasi pilihan Anda untuk melanjutkan: Windows, Mac OS X, atau Linux.

Menginstal Library Klien Data Google

  1. Kunjungi http://code.google.com/p/gdata-java-client/downloads/list
  2. Download versi terbaru library klien (gdata-src.java-1.x.x.java.zip) dan contoh (gdata-samples.java-1.x.x.java.zip).
  3. Ekstrak sumber library klien ke komputer Anda.
  4. Buka gdata/java/build-src/build.properties dan buka file.
  5. Edit dependensi eksternal agar mengarah ke lokasi file .jar di komputer lokal Anda.
  6. Catatan: Di Windows, pastikan untuk meng-escape garis miring terbalik. Misalnya,

    servlet.jar=C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\lib\\servlet-api.jar

Menjalankan Sampel

Semua contoh yang tersedia berada di gdata/java/sample dari arsip gdata-samples.java-1.x.x.java.zip. File gdata/java/build-samples/build.properties berisi semua nilai input untuk sampel yang ada dalam library. Setel sample.credentials.username dan sample.credentials.password ke nama pengguna dan sandi yang valid. Kita dapat menggunakan Ant untuk mem-build serta menjalankan sampel.

Uji untuk melihat apakah Anda telah menginstal semuanya dengan benar dengan membuka command prompt, beralih ke direktori gdata/java, dan mengetik:

ant -f build-samples.xml sample.calendar.run

Anda mungkin menerima beberapa info atau pesan peringatan, tetapi cari pesan BUILD SUCCESSFUL di bagian akhir. Lihat bagian pemecahan masalah jika Anda tidak mendapatkan pesan sukses.

Cobalah sampel yang lebih interaktif dengan mengetik:

ant -f build-samples.xml sample.spreadsheet.guidemo.run

Untuk mengetahui cara menjalankan contoh tertentu, buka gdata/java/build-samples dan periksa file build untuk contoh tersebut. Cari bagian samples run.

Pemecahan masalah

Jika build gagal dengan pesan error seperti,

BUILD FAILED
Target 'core.sample.core.util.build' does not exist in this project. It is used from target 'sample.calendar.build'.

Total time: 0 seconds

atau pesan error serupa tentang file penting yang tidak ada dalam project, Anda mungkin menjalankan versi lama Ant. Ketik ant -version untuk memastikan Anda menjalankan versi 1.7 atau yang lebih baru. Lihat petunjuk dependensi di atas untuk mendapatkan versi terbaru Ant.

Membuat Aplikasi Anda Sendiri

Pertanyaan berikutnya adalah cara mem-build aplikasi Anda sendiri. Saya akan membahas program setara "Halo Dunia!" menggunakan layanan Kalender untuk menunjukkan fungsionalitas dasar. Informasi yang lebih mendetail dapat ditemukan di panduan developer Library Klien Java, serta panduan developer masing-masing produk.

Buat file bernama CalendarTest.java. Mulailah dengan menyertakan pernyataan impor berikut.

import com.google.gdata.client.*;
import com.google.gdata.client.calendar.*;
import com.google.gdata.data.*;
import com.google.gdata.data.acl.*;
import com.google.gdata.data.calendar.*;
import com.google.gdata.data.extensions.*;
import com.google.gdata.util.*;

import java.net.*;
import java.io.*;

import sample.util.*;

Berikut adalah keseluruhan program (tanpa penanganan pengecualian).

public class CalendarTest {

    public static void main(String[] args) {
        CalendarService myService = new CalendarService("exampleCo-exampleApp-1.0");
        myService.setUserCredentials("root@gmail.com", "pa$$word");

        URL feedUrl = new URL("http://www.google.com/calendar/feeds/default/allcalendars/full");
        CalendarFeed resultFeed = myService.getFeed(feedUrl, CalendarFeed.class);

        System.out.println("Your calendars:");
        System.out.println();

        for (int i = 0; i < resultFeed.getEntries().size(); i++) {
          CalendarEntry entry = resultFeed.getEntries().get(i);
          System.out.println("\t" + entry.getTitle().getPlainText());
        }

    }
}

This little program will request all the calendars you own and display all the titles. It's a little longer than the canonical "Hello, World!" example, but it's very simple once we break it down. The first couple of lines creates a service object and sets the user credentials.

CalendarService myService = new CalendarService("exampleCo-exampleApp-1.0");
myService.setUserCredentials("root@gmail.com", "pa$$word");

Kemudian, URL resource ditetapkan. Dalam hal ini, Anda dapat meminta daftar semua kalender dari pengguna yang diautentikasi di sini.

URL feedUrl = new URL("http://www.google.com/calendar/feeds/default/allcalendars/full");

Baris di bawah akan menjalankan perintah GET yang sebenarnya pada URL dan menempatkan feed yang dihasilkan ke dalam objek yang rapi.

CalendarFeed resultFeed = myService.getFeed(feedUrl, CalendarFeed.class);

Loop for di bawah akan melakukan iterasi di setiap entri dan mencetak judul. Perhatikan bahwa judul disimpan sebagai TextConstruct sehingga panggilan fungsi tambahan diperlukan untuk mendapatkan teks biasa.

for (int i = 0; i < resultFeed.getEntries().size(); i++) {
    CalendarEntry entry = resultFeed.getEntries().get(i);
    System.out.println("\t" + entry.getTitle().getPlainText());
}

Itu cukup mendasar - mari kita bahas beberapa hal umum lainnya. Cuplikan berikut akan menunjukkan cara membuat objek dan menyisipkannya. Untuk contoh, ini akan menjadi entri acara kalender baru.

URL postURL = new URL("http://www.google.com/calendar/feeds/root@gmail.com/private/full");
CalendarEventEntry myEvent = new CalendarEventEntry();

//Set the title and description
myEvent.setTitle(new PlainTextConstruct("Pi Day Party"));
myEvent.setContent(new PlainTextConstruct("I am throwing a Pi Day Party!"));

//Create DateTime events and create a When object to hold them, then add
//the When event to the event
DateTime startTime = DateTime.parseDateTime("2007-03-14T15:00:00-08:00");
DateTime endTime = DateTime.parseDateTime("2007-03-14T17:00:00-08:00");
When eventTimes = new When();
eventTimes.setStartTime(startTime);
eventTimes.setEndTime(endTime);
myEvent.addTime(eventTimes);

// POST the request and receive the response:
CalendarEventEntry insertedEntry = myService.insert(postURL, myEvent);

Operasi umum lainnya adalah membuat kueri.

//Create a new query object and set the parameters
Query myQuery = new Query(feedURL);
myQuery.setFullTextQuery("Pi");

//Send the request with the built query URL
CalendarEventFeed myResultsFeed = myService.query(myQuery, CalendarEventFeed.class);

//Take the first match and print the title
if (myResultsFeed.getEntries().size() > 0) {
    CalendarEventEntry firstMatchEntry = new CalendarEventEntry();
    myResultsFeed.getEntries().get(0);
    System.out.println(firstMatchEntry.getTitle().getPlainText());
}

Saat men-debug, operasi berguna lainnya membuang XML mentah. Ada utilitas praktis yang dapat Anda gunakan untuk melakukannya di library. Pastikan samples.util.* diimpor. Kemudian, buang feed atau entri.

CommonUtils.dump(resultFeed, System.out);

Untuk alat debug yang lebih mendalam, lihat artikel Men-debug Klien Google Data API: Menjelajahi Traffic dari Dalam Program tentang cara mengaktifkan logging dari dalam library klien.

Ini akan memberi Anda gambaran tentang seperti apa pembuatan aplikasi menggunakan library klien. Untuk informasi yang lebih mendetail, lihat bagian kesimpulan untuk mengetahui daftar panduan developer yang tersedia untuk setiap Google Data API.

Kesimpulan

Semoga kini Anda dapat membuat dan menjalankan aplikasi menggunakan Library Klien GData Java. Saya tidak menggunakan IDE populer yang dapat Anda gunakan, tetapi sebaiknya lihat alat populer seperti Eclipse atau NetBeans. Berikut beberapa link tambahan yang mungkin dapat membantu:

Jika ada pertanyaan tentang penggunaan Java Client Library dengan API apa pun, Anda dapat memberi tahu kami dengan mempostingnya di forum khusus API.