Pertanyaan Umum (FAQ)

    Ringkasan

  1. Apa yang dimaksud dengan Google Data API?
  2. Saya memiliki permintaan fitur atau laporan 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 lainnya tersedia?
  6. Mengapa Anda menggunakan REST?
  7. Apakah Anda memiliki tips atau kode contoh 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 server perlu diberi tahu?
  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 mengautentikasi 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 tantangan CAPTCHA?
  21. Apakah saya harus menggunakan ClientLogin di aplikasi web saya?
  22. Bagaimana cara mengetahui nama pengguna milik 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 yang didukung library klien oleh Google?
  28. Bagaimana cara melaporkan bug atau permintaan fitur untuk salah satu library klien Data Google?
  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 baik untuk proses 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 mendeskripsikan 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 sindikasi Atom 1.0 dan RSS 2.0, ditambah Protokol Atom (APP).

Protokol Data Google memperluas standar tersebut dengan berbagai cara, menggunakan mekanisme ekstensi yang menjadi bagian dari standar tersebut. Feed sesuai dengan format sindikasi Atom atau RSS. Model publikasi sesuai dengan Protokol Penerbitan Atom.

Protokol juga menyediakan model umum untuk feed, kueri, dan hasil. Anda dapat menggunakannya untuk mengirim kueri dan update ke Data API.

Saya memiliki permintaan fitur atau laporan 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 ingin klarifikasi lebih lanjut, ada grup diskusi khusus untuk setiap Google Data API:
Apa itu JSON?

JSON mengacu pada Notasi Objek JavaScript.

JSON adalah format pertukaran data yang ringan yang kesederhanaannya telah menyebabkan penggunaan yang luas di antara developer web. Sangat mudah untuk membaca dan menulis; Anda dapat mengurainya menggunakan bahasa pemrograman apa pun, dan strukturnya memetakan langsung ke struktur data yang digunakan di sebagian besar bahasa pemrograman.

Baca selengkapnya tentang Menggunakan JSON dengan Google Data API.

Apakah saya harus menggunakan XML? Apakah format data lainnya 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 untuk "menguraikan" 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
    Serupa dengan alt=json-in-script, tetapi hasilnya ditampilkan sebagai string XML Atom, bukan JSON.
  • alt=rss-in-script
    Mirip dengan alt=atom-in-script, tetapi hasilnya ditampilkan sebagai string XML RSS, bukan Atom.

Baca selengkapnya tentang format alternatif di Panduan Referensi Data Google.

Mengapa Anda menggunakan REST?
REST adalah opsi yang sederhana, ringan, skalabel, dan peta dengan sangat baik untuk mewakili dan mengekspos data.
Apakah Anda memiliki tips atau kode contoh singkat untuk masalah umum?
Anda harus menjelajahi Blog Tips Data Google 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 pengguna yang belum dibaca. Cakupan harus ditetapkan ke https://mail.google.com/mail/feed/atom/. Contoh kuerinya adalah:

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

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


Autentikasi

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

Apa nama layanan di ClientLogin untuk setiap Data API?
"Nama layanan" adalah string singkat yang digunakan oleh sistem autentikasi ClientLogin untuk mengidentifikasi layanan Google.
Google API Nama layanan
Data API Google Analytics analytics
API G Suite
(Informasi & amp; Pengelolaan Domain)
apps
API Data Google Sites jotspot
API Data Blogger blogger
API Data Penelusuran Buku print
API Data Kalender cl
API Data Google Code Search codesearch
API Data Kontak cp
Content API for Shopping structuredcontent
API Data Daftar Dokumen writely
API Data Keuangan finance
Feed Atom Gmail mail
API Data Kesehatan health
weaver (sandbox H9)
Maps Data API local
API Data Album Web Picasa lh2
API Data Wikipinggir annotateweb
API Data Spreadsheet wise
API Alat WebMaster sitemaps
YouTube Data API youtube

Untuk informasi lebih lanjut tentang parameter lain yang digunakan dalam permintaan ClientLogin, lihat dokumentasi ClientLogin.

Saat pengguna logout dari aplikasi, apakah server API perlu diberi tahu?
Tidak, Anda tidak perlu memberi tahu Google Data API saat pengguna logout dari aplikasi. Namun, jika aplikasi tidak perlu lagi menggunakan token AuthSub yang dikeluarkan, aplikasi tersebut harus mencabut token.
Apakah token autentikasi ClientLogin memiliki tanggal habis masa berlaku?
Token ClientLogin dapat bertahan selama 2 minggu sejak tanggal penerbitan, tetapi batas ini berlaku khusus untuk layanan dan bisa 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 memiliki akses ke aplikasi Anda. Untuk detail OAuth 2.0, lihat dokumentasi untuk API spesifik Anda.

Google API Nama Layanan ClientLogin
Google Analytics Data API https://www.google.com/analytics/feeds/
API Data Google Sites http(s)://sites.google.com/feeds/
API Data Blogger http://www.blogger.com/feeds/
API Data Penelusuran Buku http://www.google.com/books/feeds/
API Data Kalender http(s)://www.google.com/calendar/feeds/
API Data Kontak http(s)://www.google.com/m8/feeds/
Content API for Shopping https://www.googleapis.com/auth/structuredcontent
API Data Daftar Dokumen http(s)://docs.google.com/feeds/
API Data Keuangan http://finance.google.com/finance/feeds/
Feed Atom Gmail https://mail.google.com/mail/feed/atom/
API Data Kesehatan https://www.google.com/health/feeds/
https://www.google.com/h9/feeds/ (sandbox H9)
API Data Maps http://maps.google.com/maps/feeds/
API Data Album Web Picasa http://picasaweb.google.com/data/
API Kontak Portabel http://www-opensocial.googleusercontent.com/api/people
API Data Wikipinggir http://www.google.com/sidewiki/feeds/
API Data Spreadsheet http(s)://spreadsheets.google.com/feeds/
API Alat WebMaster 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 penggunaan tunggal yang ditampilkan ke aplikasi web Anda melalui parameter kueri 'token'. Masa berlaku token ini pertama kali digunakan dengan layanan yang dikeluarkan token tersebut atau saat ditukar dengan token sesi.

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

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

ClientLogin digunakan untuk aplikasi desktop yang 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 rentan terhadap pengintaian). Sebagai gantinya, aplikasi harus menyimpan kredensial pengguna di sisi server dan memiliki satu "akun layanan" yang selalu digunakan untuk mengautentikasi dengan Google.
Apa yang dimaksud dengan CAPTCHA?
Pengujian CAPTCHA (Fullly Automated Public Turing untuk membedakan Komputer dan Manusia) adalah jenis pengujian respons tantangan yang digunakan untuk menentukan apakah pengguna adalah manusia atau bukan. Istilah ini bermerek dagang oleh Carnegie Mellon University. Lihat detail selengkapnya di Wikipedia. Kami telah menerapkan CAPTCHA di ClientLogin.
Bagaimana cara membuat tantangan CAPTCHA?
Algoritme kepemilikan digunakan untuk menentukan kapan verifikasi CAPTCHA diperlukan selama autentikasi. Upaya autentikasi berulang dengan kredensial yang buruk sering kali akan menimbulkan tantangan CAPTCHA.
Haruskah saya menggunakan ClientLogin di aplikasi web?
Tidak, ClientLogin harus digunakan oleh aplikasi terinstal di hardware milik pengguna. Penggunaan ClientLogin API di aplikasi web tidak aman dan sangat tidak dianjurkan.
Bagaimana cara mengetahui nama pengguna milik pengguna saat menggunakan AuthSub/OAuth 1?
Karena Anda hanya diberi token dari Google yang memberikan akses ke feed pengguna, Anda mungkin tidak mengetahui nama pengguna. Hal ini dapat menimbulkan masalah jika URL feed yang ingin Anda gunakan berisi nama pengguna sebagai bagian dari nama tersebut. 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 Data 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 memiliki library klien yang didukung oleh Google?

Library klien Java, .NET, Python, dan Objective-C resmi didukung oleh Google. Selain itu, partner kami, Zend, telah menulis library klien PHP. Dengan 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 berbagi dengan 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 library klien?

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

Setelah memposting bug, buat thread 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: Men-debug Klien Google Data API: Menjelajahi Traffic dari Dalam Program
Di mana saya dapat menemukan dokumen referensi untuk class library klien?
Library Klien Panduan Referensi
Java Javadoc
JavaScript Dokumen JS
.NET NDokumen
PHP phpDokumen
Python DokumenPy

Pemecahan masalah

Apa saja alat yang baik untuk proses debug HTTP?

Ada sejumlah alat yang tercantum di bawah, tetapi Anda juga dapat membaca artikel Di Wire: Network Capture Tools untuk Developer API yang menjelaskan contoh mendalam WireShark dan Fiddler.

Wireshark
Wireshark adalah "penganalisis protokol jaringan". Hal ini memberikan kemampuan untuk merekam traffic jaringan dan menganalisis konten. Sangat berguna dalam men-debug traffic yang terjadi di library tempat Anda tidak memiliki akses langsung ke aliran respons dan permintaan 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 diambil menggunakan alat seperti tcpdump. Wireshark tersedia dari developer baik sebagai kode sumber maupun penginstal Windows. Paket pihak ketiga tersedia untuk banyak platform.
Fiddler
Fiddler adalah "proxy proses 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 Anda dapat memeriksa traffic. Fiddler 2 menyertakan dukungan untuk SSL. Fiddler saat ini hanya tersedia untuk Windows.
URL
cURL adalah alat command line yang dapat menjalankan permintaan HTTP/HTTPS. Fungsi ini sangat berguna untuk pengujian cepat interaksi dengan layanan tanpa harus membuat dukungan HTTP terlebih dahulu di klien Anda.
Bagaimana cara mendapatkan informasi logging HTTP di library klien Java?

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

Jika kode error ditampilkan dari server, Pengecualian akan muncul. Class pengecualian mewarisi dari com.google.gdata.util.ServiceException dan mencakup metode publik yang disebut getResponseBody(). Lihat Javadoc untuk 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 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, terdapat bug di versi awal library klien PHP yang dirilis sebelum Juli 2007 (versi 1.0.0 dan yang lebih lama) yang memaksa koneksi untuk menggunakan SSLv2. Saat terhubung ke server yang telah menonaktifkan SSLv2, hal ini akan mengakibatkan error berikut:

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, yang tersedia dari http://framework.zend.com/download.

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

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

Anda dapat memperoleh dokumen layanan Atom dengan meneruskan parameter alt=atom-service dalam permintaan tersebut. 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 di antara kedua versi tersebut).