Pertanyaan Umum (FAQ)

    Ringkasan

  1. Apa yang dimaksud dengan Google Data API?
  2. Saya ingin meminta fitur atau melaporkan bug. Di mana saya harus memposting?
  3. Di mana saya harus mengajukan pertanyaan tentang API tertentu?
  4. Apa itu JSON?
  5. Apakah saya harus menggunakan XML? Apakah format data lain tersedia?
  6. Mengapa Anda menggunakan REST?
  7. Apakah ada tips atau contoh kode singkat untuk masalah umum?
  8. Apakah Gmail memiliki Data API?
  9. Autentikasi

  10. Apa nama layanan di ClientLogin untuk setiap Data API?
  11. Saat pengguna logout dari aplikasi, apakah perlu memberi tahu server API?
  12. Apakah token autentikasi ClientLogin memiliki tanggal habis masa berlaku?
  13. Saya memiliki pertanyaan umum tentang Akun Google. Ke mana saya harus pergi?
  14. Bagaimana cara melakukan autentikasi ke API?
  15. Nilai apa yang harus saya gunakan untuk parameter cakupan AuthSub/OAuth 1?
  16. Apakah ada berbagai jenis token AuthSub? Apakah masa berlaku token berakhir?
  17. Apa perbedaan utama antara ClientLogin dan AuthSub/OAuth 1?
  18. Dapatkah saya menggunakan autentikasi ClientLogin di aplikasi web pihak ketiga?
  19. Apa yang dimaksud dengan CAPTCHA?
  20. Bagaimana cara membuat verifikasi CAPTCHA?
  21. Haruskah saya menggunakan ClientLogin di aplikasi web saya?
  22. Bagaimana cara mengetahui nama pengguna saat menggunakan AuthSub/OAuth 1?
  23. Bagaimana cara menggunakan OAuth 1 dengan library klien Google Data API?
  24. Bagaimana cara menggunakan AuthSub dengan library klien Google Data API?
  25. Bagaimana cara menggunakan ClientLogin dengan library klien Google Data API?
  26. Library Klien

  27. Bahasa pemrograman apa saja yang memiliki library klien yang didukung oleh Google?
  28. Bagaimana cara melaporkan bug atau permintaan fitur untuk salah satu library klien Google Data?
  29. Bagaimana cara mengaktifkan opsi proses debug di library klien?
  30. Di mana saya dapat menemukan dokumen referensi untuk class library klien?
  31. Pemecahan masalah

  32. Apa saja alat yang bagus untuk men-debug HTTP?
  33. Bagaimana cara mendapatkan informasi logging HTTP di library klien Java?
  34. Bagaimana cara mendapatkan informasi logging HTTP di library klien .NET?
  35. Bagaimana cara mengaktifkan encoding gzip dari feed Data Google?
  36. Mengapa saya melihat error "Unable to Connect to sslv2" saat menggunakan klien PHP?
  37. Bagaimana cara mendapatkan dokumen layanan Atom yang menjelaskan feed?

Ringkasan

Apa yang dimaksud dengan Google Data API?

Google Data API adalah API yang didasarkan pada protokol Data Google. Protokol Data Google didasarkan pada format distribusi Atom 1.0 dan RSS 2.0, serta Atom Publishing Protocol (APP).

Protokol Data Google memperluas standar tersebut dengan berbagai cara, menggunakan mekanisme ekstensi yang ada dalam standar. Feed sesuai dengan format sindikasi Atom atau RSS. Model publikasi sesuai dengan Atom Publishing Protocol.

Protokol ini juga menyediakan model umum untuk feed, kueri, dan hasil. Anda dapat menggunakannya untuk mengirim kueri dan pembaruan ke Data API mana pun.

Saya ingin meminta fitur atau melaporkan bug. Di mana saya harus memposting?
Lihat issue tracker kami. Cari permintaan fitur Anda dan beri bintang untuk menambahkan dukungan dan menerima info terbaru tentang statusnya.
Di mana saya harus mengajukan pertanyaan tentang API tertentu?
Jika masalah Anda tidak tercantum di sini atau Anda ingin mendapatkan klarifikasi lebih lanjut, ada grup diskusi khusus untuk setiap Google Data API:
Apa itu JSON?

JSON mengacu pada JavaScript Object Notation.

JSON adalah format pertukaran data ringan yang kesederhanaannya telah menghasilkan penggunaan yang luas di kalangan developer web. Mudah dibaca dan ditulis; Anda dapat menguraikannya menggunakan bahasa pemrograman apa pun, dan strukturnya dipetakan langsung ke struktur data yang digunakan dalam sebagian besar bahasa pemrograman.

Baca selengkapnya tentang Menggunakan JSON dengan Google Data API.

Apakah saya harus menggunakan XML? Apakah format data lain tersedia?
Format data default untuk Google Data API adalah XML, dalam bentuk feed Atom. Namun, saat meminta feed, Anda dapat menentukan format alternatif menggunakan parameter kueri alt.
  • alt=rss
    Data respons diformat sebagai feed RSS.
  • alt=json atau alt=json-in-script
    Menampilkan representasi JSON dari struktur XML feed Atom. Manfaat tambahan JSON adalah lebih mudah "diurai" dalam kode klien JavaScript. Saat ini, penggunaan JSON hanya tersedia sebagai opsi hanya baca. Namun, penggunaan library klien JavaScript dengan layanan Blogger, Kontak, atau Kalender memungkinkan pembacaan dan penulisan data.

    Baca selengkapnya tentang Meminta dan menggunakan feed JSON.

  • alt=atom-in-script
    Mirip dengan alt=json-in-script, tetapi hasilnya ditampilkan sebagai string Atom XML, bukan JSON.
  • alt=rss-in-script
    Mirip dengan alt=atom-in-script, tetapi hasilnya ditampilkan sebagai string XML RSS, bukan Atom.

Baca lebih lanjut format alternatif dalam Panduan Referensi Data Google.

Mengapa Anda menggunakan REST?
REST sederhana, ringan, skalabel, dan memetakan dengan sangat baik untuk merepresentasikan dan mengekspos data.
Apakah ada tips atau contoh kode singkat untuk masalah umum?
Anda harus menjelajahi Blog Tips Google Data API untuk mendapatkan bantuan terkait library klien kami dan membuat permintaan mentah.
Apakah Gmail memiliki Data API?

Tidak, tetapi Anda dapat menggunakan feed Atom Gmail dengan AuthSub atau OAuth 1 untuk meminta akses hanya baca ke pesan yang belum dibaca milik pengguna. Cakupan harus ditetapkan ke https://mail.google.com/mail/feed/atom/. Contoh kuerinya adalah:

GET https://mail.google.com/mail/feed/atom/

Jika Anda tertarik untuk mengelola email, Gmail juga memiliki dukungan IMAP/POP.


Autentikasi

Dalam dokumentasi Google Data API, "OAuth" merujuk ke OAuth 1; untuk mengetahui detail OAuth 2.0, lihat dokumentasi untuk setiap API Anda.

Apa nama layanan di ClientLogin untuk setiap Data API?
"Nama layanan" adalah string singkat yang digunakan sistem autentikasi ClientLogin untuk mengidentifikasi layanan Google.
Google API Nama layanan
Google Analytics Data API analytics
G Suite API
(Informasi & Pengelolaan Domain)
apps
Google Sites Data API jotspot
Blogger Data API blogger
Book Search Data API print
Calendar Data API cl
Google Code Search Data API codesearch
Contacts Data API cp
Content API for Shopping structuredcontent
Documents List Data API writely
Finance Data API finance
Feed Atom Gmail mail
Health Data API health
weaver (sandbox H9)
Maps Data API local
Picasa Web Albums Data API lh2
Sidewiki Data API annotateweb
Spreadsheets Data API wise
Webmaster Tools API sitemaps
YouTube Data API youtube

Untuk mengetahui informasi selengkapnya tentang parameter lain yang digunakan dalam permintaan ClientLogin, lihat dokumentasi ClientLogin.

Saat pengguna logout dari aplikasi, apakah perlu memberi tahu server API?
Tidak, Anda tidak perlu memberi tahu Google Data API saat pengguna logout dari aplikasi. Namun, jika aplikasi Anda tidak perlu lagi menggunakan token AuthSub yang dikeluarkan, aplikasi tersebut harus mencabut token tersebut.
Apakah token autentikasi ClientLogin memiliki tanggal habis masa berlaku?
Token ClientLogin dapat bertahan selama 2 minggu sejak tanggal penerbitan, tetapi batas ini khusus untuk layanan tertentu dan dapat lebih singkat.
Saya memiliki pertanyaan umum tentang Akun Google. Ke mana saya harus pergi?
Buka Pusat Bantuan Akun Google.
Bagaimana cara mengautentikasi ke API?
Permintaan HTTP Anda harus menyertakan header Otorisasi yang berisi token yang diperoleh dengan menggunakan ClientLogin, AuthSub, atau OAuth 1.
Nilai apa yang harus saya gunakan untuk parameter cakupan AuthSub/Oauth 1?
Parameter scope diperlukan oleh AuthSub dan OAuth 1 untuk mengidentifikasi layanan Google yang akan diakses oleh aplikasi Anda. Untuk mengetahui detail OAuth 2.0, lihat dokumentasi untuk API tertentu Anda.

Google API Nama Layanan ClientLogin
Google Analytics Data API https://www.google.com/analytics/feeds/
Google Sites Data API http(s)://sites.google.com/feeds/
Blogger Data API http://www.blogger.com/feeds/
Book Search Data API http://www.google.com/books/feeds/
Calendar Data API http(s)://www.google.com/calendar/feeds/
Contacts Data API http(s)://www.google.com/m8/feeds/
Content API for Shopping https://www.googleapis.com/auth/structuredcontent
Documents List Data API http(s)://docs.google.com/feeds/
Finance Data API http://finance.google.com/finance/feeds/
Feed Atom Gmail https://mail.google.com/mail/feed/atom/
Health Data API https://www.google.com/health/feeds/
https://www.google.com/h9/feeds/ (sandbox H9)
Maps Data API http://maps.google.com/maps/feeds/
Picasa Web Albums Data API http://picasaweb.google.com/data/
Portable Contacts API http://www-opensocial.googleusercontent.com/api/people
Sidewiki Data API http://www.google.com/sidewiki/feeds/
Spreadsheets Data API http(s)://spreadsheets.google.com/feeds/
Webmaster Tools API http://www.google.com/webmasters/tools/feeds/
YouTube Data API http://gdata.youtube.com
Apakah ada berbagai jenis token AuthSub? Apakah masa berlaku token berakhir?
Ada dua jenis token AuthSub. Yang pertama adalah token sekali pakai yang ditampilkan ke aplikasi web Anda melalui parameter kueri 'token'. Masa berlaku token ini akan berakhir saat pertama kali digunakan dengan layanan yang menerbitkannya atau saat ditukar dengan token sesi.

Token sesi tidak akan habis masa berlakunya kecuali jika token dicabut secara eksplisit melalui pengguna atau panggilan AuthSubRevokeToken API. Token penggunaan tunggal hanya dapat ditukar dengan token sesi jika URL AuthSubRequest asli menentukan session=1 sebagai parameter kueri.
Apa perbedaan utama antara ClientLogin dan AuthSub/OAuth 1?

AuthSub dirancang untuk aplikasi web. Hal ini memastikan bahwa kredensial pengguna dikirim dengan aman langsung dari browser web pengguna ke server Google, bukan melalui situs web pihak ketiga.

ClientLogin ditujukan untuk aplikasi desktop terinstal. Aplikasi yang meminta harus mengirimkan kredensial pengguna ke Google atas nama pengguna.

Lihat dokumentasi tentang Google Account Authentication API.

Dapatkah saya menggunakan autentikasi ClientLogin di aplikasi web pihak ketiga?
Penggunaan ClientLogin di aplikasi web pihak ketiga dapat diterima, tetapi sangat tidak disarankan. Sebagai praktik terbaik, aplikasi web tidak boleh meminta kredensial login pengguna (hal ini dapat rentan terhadap pengintaian). Sebagai gantinya, aplikasi harus menyimpan kredensial pengguna di sisi server, dan memiliki satu "akun layanan" yang selalu digunakan untuk melakukan autentikasi dengan Google.
Apa yang dimaksud dengan CAPTCHA?
CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) adalah jenis uji tantangan-respons yang digunakan untuk menentukan apakah pengguna adalah manusia atau bukan. Istilah ini merupakan merek dagang yang dimiliki oleh Carnegie Mellon University. Lihat detail selengkapnya di Wikipedia. Kami telah menerapkan CAPTCHA di ClientLogin.
Bagaimana cara membuat verifikasi CAPTCHA?
Algoritma eksklusif digunakan untuk menentukan kapan tantangan CAPTCHA diperlukan selama autentikasi. Upaya autentikasi berulang dengan kredensial yang salah akan sering kali memunculkan tantangan CAPTCHA.
Haruskah saya menggunakan ClientLogin di aplikasi web saya?
Tidak, ClientLogin harus digunakan oleh aplikasi yang diinstal di hardware milik pengguna. Penggunaan ClientLogin API di aplikasi web tidak aman dan sangat tidak disarankan.
Bagaimana cara mengetahui nama pengguna saat menggunakan AuthSub/OAuth 1?
Karena Anda hanya diberi token dari Google yang memberikan akses ke feed pengguna, Anda mungkin tidak mengetahui nama penggunanya. Hal ini dapat menimbulkan masalah jika URL feed yang ingin Anda gunakan berisi nama pengguna sebagai bagiannya. Dalam hal ini, Anda dapat menggunakan nama pengguna khusus default untuk berarti "pengguna yang token autentikasinya saya gunakan".
Bagaimana cara menggunakan OAuth 1 dengan library klien Google Data API?
Lihat artikel Menggunakan OAuth 1 dengan Library Klien Google Data API.
Bagaimana cara menggunakan AuthSub dengan library klien Google Data API?
Lihat artikel Menggunakan AuthSub dengan Library Klien Google Data API.
Bagaimana cara menggunakan ClientLogin dengan library klien Google Data API?
Lihat artikel Menggunakan ClientLogin dengan Library Klien Google Data API.

Library Klien

Bahasa pemrograman apa yang library kliennya didukung oleh Google?

Library klien Java, .NET, Python, dan Objective-C didukung secara resmi oleh Google. Selain itu, partner kami, Zend, telah menulis library klien PHP. Dengan menggunakan library ini, Anda dapat membuat permintaan protokol Data Google, mengirimkannya ke layanan, dan memproses respons server. Ada juga library klien JavaScript yang saat ini hanya mendukung Blogger, Kalender, dan Google Kontak.

Jika Anda menulis library klien dalam bahasa selain Java, .Net, Python, atau Objective-C, dan ingin membagikannya kepada komunitas developer Data API, posting di grup diskusi Google Data API. Kami ingin mendengar pendapat Anda.

Bagaimana cara melaporkan bug atau permintaan fitur untuk salah satu pustaka klien?

Bug atau permintaan fitur untuk library klien dapat dilaporkan di lokasi berikut:

Setelah memposting bug, buat rangkaian pesan di forum developer untuk API yang sesuai.

Bagaimana cara mengaktifkan opsi proses debug di library klien Google Data API?
Lihat artikel berikut untuk mengetahui informasi tentang cara mengaktifkan proses debug dengan beberapa library klien: Proses Debug Klien Google Data API: Menjelajahi Traffic dari Dalam Program Anda
Di mana saya dapat menemukan dokumen referensi untuk class library klien?
Library Klien Panduan Referensi
Java Javadoc
JavaScript JSdoc
.NET NDoc
PHP phpDoc
Python PyDoc

Pemecahan masalah

Apa saja alat yang bagus untuk men-debug HTTP?

Ada sejumlah alat yang tercantum di bawah, tetapi Anda juga dapat membaca artikel On the Wire: Network Capture Tools for API Developers yang menjelaskan secara mendalam contoh WireShark dan Fiddler.

Wireshark
Wireshark adalah "penganalisis protokol jaringan". Fitur ini memberikan kemampuan untuk merekam traffic jaringan dan menganalisis konten. Hal ini sangat berguna dalam men-debug traffic yang terjadi di library tempat Anda tidak memiliki akses langsung ke aliran permintaan dan respons HTTP. Traffic antara aplikasi Anda dan layanan autentikasi tidak dapat dianalisis menggunakan Wireshark karena komunikasi dienkripsi menggunakan SSL. Wireshark juga dapat digunakan untuk menganalisis traffic yang direkam menggunakan alat seperti tcpdump. Wireshark tersedia dari developer sebagai kode sumber dan penginstal Windows. Paket pihak ketiga tersedia untuk banyak platform.
Fiddler
Fiddler adalah "proxy pen-debug HTTP". Jika Anda dapat mengonfigurasi kode atau lingkungan runtime untuk menggunakan server proxy untuk traffic HTTP, Fiddler akan berada di antara aplikasi dan layanan Data Google, tempat Fiddler akan memungkinkan Anda memeriksa traffic. Fiddler 2 mencakup dukungan untuk SSL. Fiddler saat ini hanya tersedia untuk Windows.
cURL
cURL adalah alat command-line yang dapat melakukan permintaan HTTP/HTTPS. Fitur ini sangat berguna untuk menguji interaksi dengan layanan secara cepat tanpa harus membangun dukungan HTTP di klien Anda terlebih dahulu.
Bagaimana cara mendapatkan informasi logging HTTP di library klien Java?

Library klien Java menggunakan paket java.util.logging untuk mengaktifkan logging permintaan HTTP. Dengan demikian, Anda dapat mengaktifkan logging header untuk permintaan dan respons, serta kode status dan URL permintaan. Saat ini, fitur ini tidak mencatat log aliran permintaan dan respons lengkap. Nama logger yang digunakan untuk log ini adalah com.google.gdata.client.http.HttpGDataRequest.

Jika kode error ditampilkan dari server, Exception akan ditampilkan. Class pengecualian diwarisi dari com.google.gdata.util.ServiceException dan mencakup metode publik yang disebut getResponseBody(). Lihat Javadoc untuk mengetahui informasi selengkapnya.

Bagaimana cara mendapatkan informasi logging HTTP di library klien .NET?
Library .NET menggunakan metode pelacakan System.Diagnostics untuk mencatat jalur eksekusi, jika pelacakan diaktifkan. Selain itu, jika terjadi error, GDataRequestException akan ditampilkan. Pengecualian ini berisi ResponseString yang memungkinkan Anda mengakses isi respons HTTP.
Bagaimana cara mengaktifkan encoding gzip dari feed Data Google?

Untuk menerima respons yang dienkode ke gzip dari salah satu Google Data API, Anda harus melakukan dua hal: menetapkan header "Accept-Encoding" dan mengubah agen pengguna agar berisi string "gzip". Contoh header yang diformat dengan benar:

User-Agent: my program (gzip)
Accept-Encoding: gzip
Mengapa saya melihat error "Unable to Connect to sslv2" saat menggunakan klien PHP?

Mulai Juli 2009, kami mulai menonaktifkan SSLv2 di server kami sebagai tindakan pencegahan untuk meningkatkan keamanan. Sayangnya, ada bug di versi awal library klien PHP yang dirilis sebelum Juli 2007 (versi 1.0.0 dan yang lebih lama) yang memaksa koneksi menggunakan SSLv2. Saat terhubung ke server yang menonaktifkan SSLv2, error berikut akan terjadi:

PHP Fatal error:  Uncaught exception 'Zend_Http_Client_Adapter_Exception' with message 'Unable to Connect to sslv2://www.google.com:443.'

Untuk memperbaiki error ini, upgrade ke rilis library klien PHP yang lebih baru, tersedia dari http://framework.zend.com/download.

Jika Anda tidak dapat mengupgrade ke rilis yang lebih baru, Anda dapat memperbaikinya dengan menambahkan kode berikut ke aplikasi Anda, dengan $gdata adalah instance Zend_Gdata yang ada (atau subclass yang sesuai):

$gdata->getHttpClient()->setConfig(array('ssltransport' => 'ssl'));
Bagaimana cara mendapatkan dokumen layanan Atom yang menjelaskan feed?

Anda bisa mendapatkan dokumen layanan Atom dengan meneruskan parameter alt=atom-service dalam permintaan. Catatan: Hanya Google Data API versi 2 yang akan menampilkan dokumen layanan yang sesuai dengan sintaksis dokumen layanan AtomPub. Google Data API versi 1 akan tetap menampilkan dokumen layanan, tetapi didasarkan pada spesifikasi draf AtomPub sebelumnya (ada perubahan sintaksis dan namespace antara kedua versi).