Memulai (original) (raw)

Dokumen ini menjelaskan pengetahuan latar belakang yang Anda perlukan untuk menggunakan Google Books API.

  1. Pengantar
  2. Sebelum memulai
    1. Membuat Akun Google
    2. Berkenalan dengan Buku
    3. Pelajari cara mengizinkan permintaan dan mengidentifikasi aplikasi Anda
  3. Latar belakang Books API
    1. Konsep buku
    2. Model data Books API
    3. Operasi Books API
  4. Gaya panggilan
    1. REST
  5. Format data
    1. JSON

Pengantar

Dokumen ini ditujukan bagi developer yang ingin menulis aplikasi yang dapat berinteraksi dengan Google Books API. Google Buku memiliki visi untuk mendigitalkan buku-buku di dunia. Anda dapat menggunakan Google Books API untuk menelusuri konten, mengatur koleksi pribadi pengguna yang diautentikasi, dan juga memodifikasinya.

Sebelum memulai

Buat Akun Google

Anda memerlukan Akun Google untuk tujuan pengujian. Jika sudah memiliki akun pengujian, berarti Anda sudah siap; Anda dapat mengunjungi antarmuka penggunaGoogle Buku untuk menyiapkan, mengedit, atau melihat data pengujian.

Berkenalan dengan Buku

Jika belum memahami konsep Google Buku, Anda harus membaca dokumen ini dan bereksperimen dengan antarmuka pengguna sebelum mulai membuat kode. Dokumen ini mengasumsikan bahwa Anda sudah memahami konsep pemrograman web dan format data web.

Pelajari cara mengizinkan permintaan dan mengidentifikasi aplikasi Anda

Saat aplikasi Anda meminta data pribadi, permintaan itu harus diizinkan oleh pengguna terautentikasi yang memiliki akses ke data tersebut.

Secara khusus, semua operasi pada "Koleksiku" di Google Books API dianggap pribadi dan memerlukan autentikasi serta otorisasi. Selain itu, operasi apa pun yang mengubah data Google Buku hanya dapat dilakukan oleh pengguna yang memiliki data tersebut.

Ketika aplikasi Anda meminta data publik, permintaan ini tidak perlu diotorisasi, tetapi harus disertai dengan ID, seperti kunci API.

Untuk informasi tentang cara mengizinkan permintaan dan menggunakan kunci API, lihat Memberi otorisasi permintaan dan mengidentifikasi aplikasi di dokumen Menggunakan API.

Latar belakang Books API

Konsep buku

Google Buku dibuat berdasarkan empat konsep dasar:

Model data Books API

Resource adalah entity data individual dengan ID unik. Books API beroperasi pada dua jenis resource, berdasarkan konsep yang dijelaskan di atas:

Model data Books API didasarkan pada grup resource, yang disebut koleksi:

Pengumpulan volume

Koleksi volume, adalah kumpulan setiap resource volume yang dikelola oleh Google Buku. Dengan demikian, Anda tidak dapat mencantumkan semua resource volume, tetapi Anda dapat mencantumkan semua volume yang cocok dengan sekumpulan istilah penelusuran.

Koleksi rak buku

Koleksi rak buku terdiri dari semuamateri rak buku yang dikelola oleh Google Buku. Rak buku harus selalu dirujuk dalam konteks koleksi pengguna tertentu. Rak buku dapat berisi nol volume atau lebih.

Google menyediakan serangkaian rak buku yang telah ditentukan sebelumnya untuk setiap pengguna:

Contoh rak buku:

Operasi Books API

Anda dapat memanggil lima metode berbeda pada koleksi dan resource di Books API, seperti yang dijelaskan dalam tabel berikut.

Operasi Deskripsi Pemetaan HTTP REST
list Mencantumkan subset resource yang ditentukan dalam koleksi. GET pada URI koleksi.
sisipkan Menyisipkan resource baru ke dalam koleksi (membuat resource baru). POST di URI koleksi, tempat Anda meneruskan data untuk resource baru.
dapatkan Mendapatkan resource tertentu. GET pada URI resource.
info terbaru Memperbarui resource tertentu. PUT pada URI resource, tempat Anda meneruskan data untuk resource yang diupdate.
hapus Menghapus resource tertentu. DELETE pada URI resource, tempat Anda meneruskan data untuk resource yang akan dihapus.

Operasi yang didukung untuk berbagai jenis resource dirangkum dalam tabel di bawah. Operasi yang berlaku untuk data pribadi pengguna disebut operasi "Library Saya", dan semuanya memerlukan autentikasi.

Jenis Resource Operasi yang Didukung
daftar sisipkan dapatkan info terbaru hapus
Volume ya* ya
Rak buku ya* ya, AUTENTIKASI ya* ya, AUTENTIKASI ya, AUTENTIKASI
Posisi Membaca ya, AUTENTIKASI ya, AUTENTIKASI ya, AUTENTIKASI ya, AUTENTIKASI

*Versi operasi AUTHENTICATED maupun yang tidak diautentikasi tersedia, sementara permintaan yang diautentikasi beroperasi pada data "My Library" pribadi pengguna, sedangkan permintaan yang tidak diautentikasi hanya beroperasi pada data publik.

Gaya panggilan

Ada beberapa cara untuk memanggil API:

REST

REST adalah gaya arsitektur software yang memberikan pendekatan yang praktis dan konsisten untuk meminta dan memodifikasi data.

Istilah REST adalah singkatan dari "Representational State Transfer". Dalam konteks Google API, hal ini mengacu pada penggunaan kata kerja HTTP untuk mengambil dan mengubah representasi data yang disimpan oleh Google.

Dalam sistem RESTful, resource disimpan di penyimpanan data; klien mengirim permintaan agar server melakukan tindakan tertentu (seperti membuat, mengambil, memperbarui, atau menghapus resource), dan server melakukan tindakan dan mengirim respons, sering kali dalam bentuk representasi resource yang ditentukan.

Di RESTful API Google, klien menentukan tindakan menggunakan kata kerja HTTP seperti POST, GET, PUT, atau DELETE. Ini menetapkan resource melalui URI yang unik secara global dengan bentuk berikut:

https://www.googleapis.com/apiName/apiVersion/resourcePath?parameters

Karena semua resource API memiliki URI unik yang dapat diakses HTTP, REST memungkinkan caching data dan dioptimalkan untuk berfungsi dengan infrastruktur terdistribusi web.

Anda dapat memperoleh manfaat dari definisi metode dalam dokumentasi standar HTTP 1.1; dokumentasi tersebut menyertakan spesifikasi untuk GET, POST, PUT, dan DELETE.

REST di Books API

Operasi Buku yang didukung dipetakan langsung ke kata kerja HTTP REST, seperti yang dijelaskan dalam operasi Books API.

Format spesifik untuk URI Books API adalah:

https://www.googleapis.com/books/v1/{collectionName}/resourceID?parameters

dengan resourceID adalah ID untuk resource volume atau rak buku, dan _parameters_ adalah parameter apa pun yang akan diterapkan pada kueri. Lihat Referensi parameter kueri untuk mengetahui detailnya.

Format ekstensi jalur resourceID memungkinkan Anda mengidentifikasi resource yang Anda gunakan saat ini, misalnya:

https://www.googleapis.com/books/v1/volumes https://www.googleapis.com/books/v1/volumes/volumeId https://www.googleapis.com/books/v1/mylibrary/bookshelves https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/volumes ...

Perlu diperhatikan bahwa operasi dengan mylibrary dalam URI hanya berlaku untuk data library pribadi pengguna yang saat ini diautentikasi. Kumpulan lengkap URI yang digunakan untuk setiap operasi yang didukung dalam API diringkas dalam dokumen Referensi Books API.

Berikut beberapa contoh cara kerjanya di Books API.

Lakukan penelusuran untuk quilting:

GET https://www.googleapis.com/books/v1/volumes?q=quilting

Dapatkan informasi tentang volume s1gVAAAAYAAJ:

GET https://www.googleapis.com/books/v1/volumes/**s1gVAAAAYAAJ**

REST dari JavaScript

Anda dapat memanggil Books API menggunakan REST dari JavaScript (disebut juga JSON-P), menggunakan parameter kueri callback dan fungsi callback. Hal ini memungkinkan Anda menulis aplikasi kaya yang menampilkan data Buku tanpa menulis kode sisi server apa pun.

Catatan: Anda dapat memanggil metode yang diautentikasi dengan meneruskan token OAuth 2.0 menggunakan parameter access_token. Untuk mendapatkan token OAuth 2.0 untuk digunakan dengan JavaScript, ikuti petunjuk yang dijelaskan di OAuth 2.0 untuk aplikasi web sisi klien. Pada tab "Akses API" di Konsol API, pastikan Anda telah menyiapkan Client ID untuk aplikasi web, dan menggunakan kredensial OAuth 2.0 tersebut saat mendapatkan token.

Contoh berikut menggunakan pendekatan ini dalam menampilkan hasil penelusuran untuk "harry potter":

Books API Example

Format data

JSON

JSON (JavaScript Object Notation) adalah format data umum independen bahasa yang memberikan representasi teks sederhana untuk struktur data arbitrer. Untuk informasi selengkapnya, lihat json.org.