Blogger Data API memungkinkan aplikasi klien melihat dan mengupdate Blogger konten dalam bentuk feed Google Data API.
Aplikasi klien Anda dapat menggunakan Blogger Data API untuk membuat postingan blog baru, mengedit atau menghapus postingan blog yang ada, dan membuat kueri untuk postingan blog yang cocok dengan kriteria tertentu.
Selain memberikan beberapa latar belakang tentang kemampuan Blogger Data API, dokumen ini memberikan contoh interaksi Data API dasar menggunakan library klien JavaScript. Jika Anda tertarik untuk lebih memahami protokol dasar yang digunakan library, lihat bagian Protokol dalam panduan developer ini.
Daftar Isi
Audiens
Dokumen ini ditujukan bagi programmer yang ingin menulis program JavaScript aplikasi yang dapat berinteraksi dengan Blogger. Program ini memberikan serangkaian contoh interaksi Data API dasar menggunakan library klien JavaScript.
Untuk informasi referensi Blogger Data API, lihat Panduan referensi protokol. Dokumen ini menganggap bahwa Anda memahami ide umum di balik protokol Google Data API serta model data dan alur kontrol yang digunakan oleh library klien JavaScript. Tutorial ini juga mengasumsikan bahwa Anda tahu cara memprogram dalam JavaScript.
Untuk informasi referensi tentang class dan metode yang disediakan oleh library klien, lihat API library klien JavaScript .
Dokumen ini dirancang untuk dibaca secara berurutan; setiap contoh dibuat berdasarkan contoh sebelumnya.
Persyaratan penggunaan
Anda setuju untuk mematuhi Google JavaScript Persyaratan Penggunaan Library Klien saat menggunakan library klien JavaScript.
Tentang lingkungan yang didukung
Saat ini, kami hanya mendukung aplikasi klien JavaScript yang berjalan di halaman web di browser. Browser yang saat ini didukung adalah Firefox 1.5 dan yang lebih baru, serta Internet Explorer 6.0 dan yang lebih baru.
Library klien JavaScript menangani semua komunikasi dengan server layanan. Jika Anda seorang pengembang JS yang berpengalaman, Anda mungkin berpikir, "Tetapi apa tentang hal yang sama kebijakan origin?" Library klien JavaScript memungkinkan klien Anda mengirim permintaan Google Data API dari domain mana pun sekaligus tetap mematuhi model keamanan browser.
Memulai
Sebelum dapat menulis aplikasi klien JavaScript, Anda perlu melakukan beberapa penyiapan untuk mendapatkan library.
Membuat akun Blogger
Sebaiknya daftar ke akun Blogger untuk tujuan pengujian. Blogger menggunakan Akun Google, jadi jika Anda sudah memiliki Akun Google, Anda sudah siap.
Mendapatkan library
Sebelum dapat menggunakan library klien, klien harus meminta kode library klien dari server.
Mulai dengan menggunakan tag <script>
di
<head>
pada dokumen HTML Anda untuk mengambil Google AJAX
Loader API:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
Untuk mendapatkan library klien Google Data API setelah mengambil loader, gunakan
baris berikut di kode penyiapan JavaScript Anda, yang harus dipanggil dari
Bagian <head>
pada dokumen HTML Anda (atau dari JavaScript
yang disertakan menggunakan tag <script>
di
<head>
pada dokumen HTML Anda):
google.load("gdata", "1.x");
Parameter kedua untuk google.load()
adalah versi yang diminta
nomor library klien JavaScript.Skema penomoran versi kami
dibuat sesuai model yang digunakan oleh Google Maps API. Berikut ini beberapa kemungkinan
nomor versi dan artinya:
"1"
- Revisi kedua dari terakhir dari versi utama 1.
"1.x"
- Revisi terbaru dari versi utama 1.
"1.s"
- Revisi stabil terbaru dari versi utama 1. Kami terkadang akan mendeklarasikan versi library klien tertentu sebagai "stabil", berdasarkan masukan yang kami terima dari developer. Namun, versi tersebut mungkin tidak memiliki fitur terbaru.
"1.0"
,"1.1
", dll.- Versi library tertentu, dengan nomor revisi utama dan minor yang ditentukan.
Setelah memanggil google.load()
, Anda harus memberi tahu loader untuk menunggu hingga halaman selesai dimuat, lalu memanggil kode Anda:
google.setOnLoadCallback(getMyBlogFeed);
Dengan getMyBlogFeed()
adalah fungsi yang akan kita tentukan nanti
dari dokumen ini. Gunakan pendekatan ini daripada memiliki
Pengendali onload
dilampirkan ke <body>
.
Mengautentikasi ke layanan Blogger
Anda dapat mengakses feed publik dan pribadi menggunakan Blogger Data API. Feed publik tidak memerlukan otentikasi, tetapi bersifat hanya baca. Jika Anda ingin mengubah blog, klien Anda harus melakukan autentikasi sebelum meminta feed pribadi.
Library klien JavaScript menggunakan sistem autentikasi AuthSub. Untuk informasi selengkapnya tentang autentikasi dengan Google Data API secara umum, lihat dokumentasi autentikasi.
Autentikasi proxy AuthSub
Autentikasi proxy AuthSub digunakan oleh aplikasi web yang perlu mengautentikasi penggunanya ke Akun Google. Operator situs dan klien kode tidak memiliki akses ke nama pengguna dan sandi untuk pengguna Blogger; sebagai gantinya, klien memperoleh token AuthSub khusus yang memungkinkan klien untuk bertindak atas nama pengguna tertentu.
Berikut adalah gambaran singkat tentang apa yang terjadi selama proses otentikasi untuk klien JavaScript berbasis web:
- Aplikasi klien memanggil
google.accounts.user.login()
yang disediakan oleh library klien, dengan meneruskan "cakupan" ke sini nilai yang menunjukkan layanan Google yang akan digunakan. Untuk Blogger, cakupannya adalah"http://www.blogger.com/feeds/"
. - Library klien mengirimkan browser ke akses "Akses" Google Minta" halaman, tempat pengguna dapat memasukkan kredensialnya untuk login layanan tersebut.
- Jika pengguna berhasil masuk, sistem AuthSub akan mengirimkan browser kembali ke URL klien web, meneruskan proses otentikasi sebelumnya yang benar.
- Library klien JavaScript menyimpan token dalam cookie dan menampilkan kontrol ke fungsi aplikasi klien yang memanggil
google.accounts.user.login()
. - Ketika aplikasi klien selanjutnya memanggil metode pustaka klien berinteraksi dengan Blogger, pustaka klien secara otomatis melampirkan token ke semua permintaan.
Catatan: Agar library klien JavaScript dapat membuat
permintaan Blogger yang diautentikasi di browser web, halaman Anda harus berisi gambar
yang dihosting di domain yang sama dengan halaman Anda. Gambar dapat berupa gambar apa pun, bahkan
gambar transparan satu piksel, tetapi harus ada gambar di halaman. Jika Anda
ingin gambar tidak muncul di halaman, Anda dapat menggunakan style
tag <img>
untuk memosisikan gambar di luar
area render. Contoh: style="position:absolute; top:
-1000px;"
Berikut adalah kode aplikasi klien yang menangani proses login. Kita akan memanggil
fungsi setupMyService()
dari kode lain nanti.
function logMeIn() {
scope = "http://www.blogger.com/feeds/
";
var token = google.accounts.user.login(scope);
}
function setupMyService() {
var myService =
new google.gdata.blogger.BloggerService('exampleCo-exampleApp-1');
logMeIn();
return myService;
}
Tips: Sebaiknya Anda menyediakan
tombol login atau mekanisme input pengguna lainnya untuk meminta pengguna memulai login
diproses secara manual. Sebaliknya, jika Anda memanggil
google.accounts.user.login()
segera setelah dimuat, tanpa
menunggu interaksi pengguna, maka hal pertama
yang dilihat pengguna saat tiba di
halaman Anda adalah halaman login Google. Jika pengguna memutuskan untuk tidak login, Google
tidak akan mengarahkan mereka kembali ke halaman Anda; jadi dari sudut pandang pengguna, mereka
mencoba mengunjungi halaman Anda, tetapi diarahkan keluar dan tidak pernah diarahkan kembali. Skenario ini
dapat membingungkan dan membuat pengguna frustrasi. Dalam kode contoh dalam dokumen ini,
kita akan memanggil google.accounts.user.login()
segera setelah
memuat, agar contoh tetap sederhana, tetapi kami tidak merekomendasikan pendekatan ini untuk
aplikasi klien di dunia nyata.
Perhatikan bahwa Anda tidak perlu melakukan apa pun dengan variabel bernama
token
; library klien melacak token, sehingga Anda tidak
perlu melakukannya.
Catatan: Saat Anda membuat objek BloggerService
baru, library klien akan memanggil metode bernama
google.gdata.client.init()
, yang memeriksa apakah browser tempat
klien berjalan didukung. Jika terjadi error, library klien
menampilkan pesan error kepada pengguna. Jika ingin menangani error semacam ini
sendiri, Anda dapat memanggil
google.gdata.client.init(handleInitError)
secara eksplisit sebelum membuat
layanan, dengan handleInitError()
sebagai fungsi Anda. Jika error init
terjadi, maka fungsi Anda menerima objek {i>Error<i} standar; kamu bisa melakukan apa pun
yang diinginkan dengan objek tersebut.
Token tetap valid hingga Anda mencabutnya dengan memanggil
google.accounts.user.logout()
:
function logMeOut() { google.accounts.user.logout(); }
Jika Anda tidak memanggil logout()
, cookie yang menyimpan
token ini berlaku selama dua tahun, kecuali jika pengguna menghapusnya. Cookie dipertahankan
di seluruh sesi browser, sehingga pengguna dapat menutup browser, lalu membukanya kembali
dan kembali ke klien Anda, dan mereka akan tetap login.
Namun, ada keadaan tidak biasa tertentu saat token dapat menjadi
tidak valid selama sesi. Jika Blogger menolak token, klien Anda harus menangani
kondisi error dengan memanggil logout()
untuk menghapus cookie
yang berisi token saat ini, lalu memanggil login()
lagi untuk
mendapatkan token baru yang valid.
Ada dua metode AuthSub lainnya yang mungkin berguna bagi Anda dalam berbagai konteks:
google.accounts.user.checkLogin(scope)
akan memberi tahu Anda apakah saat ini browser memiliki token otentikasi untuk ruang lingkup proyek.google.accounts.user.getInfo()
memberikan informasi mendetail tentang token saat ini, untuk penggunaan proses debug.
Untuk mengetahui detail tentang penggunaan JavaScript untuk berinteraksi dengan AuthSub, termasuk
informasi tentang pengelolaan token dan checkLogin()
serta
getInfo()
, lihat dokumen Menggunakan
Autentikasi "AuthSub" dengan Library Klien JavaScript.