Sinopsis

API Graf merupakan cara utama untuk memperoleh data di dalam dan di luar platform Facebook. API Graf adalah API berbasis HTTP dengan level rendah yang dapat digunakan oleh aplikasi untuk mengkueri data secara terprogram, memposting cerita baru, mengelola iklan, mengunggah foto, dan melakukan beragam jenis tugas lainnya.

Dasar-Dasar

Nama API Graf berakar dari gagasan mengenai "graf sosial", yaitu sebuah representasi informasi di Facebook. API ini terdiri dari:

  • node — pada dasarnya merupakan objek individu seperti Pengguna, Foto, Halaman, atau Komentar
  • edge — hubungan antara suatu koleksi objek dan sebuah objek tunggal, seperti sejumlah Foto di sebuah Halaman atau sejumlah Komentar di sebuah Foto
  • kolom — data mengenai sebuah objek, seperti ulang tahun Pengguna atau nama Halaman

Biasanya Anda menggunakan node untuk memperoleh data mengenai sebuah objek tertentu, menggunakan edge untuk mendapatkan kumpulan objek di suatu objek tunggal, dan menggunakan kolom untuk memperoleh data mengenai suatu objek tunggal atau masing-masing objek yang terdapat di dalam sebuah koleksi.

HTTP

API Graf berbasis HTTP, sehingga API Graf dapat digunakan dengan berbagai bahasa yang mempunyai perpustakaan HTTP, seperti cURL dan urllib. Ini berarti Anda dapat menggunakan API Graf secara langsung di dalam browser Anda. Misalnya, dengan meminta URL ini di dalam browser Anda...

https://graph.facebook.com/facebook/picture?redirect=false

... kurang lebih sama dengan melakukan permintaan cURL ini:

curl -i -X GET \
 "https://graph.facebook.com/facebook/picture?redirect=false&access_token={valid-access-token-goes-here}"

Token Akses

Anda mungkin sudah mengetahui parameter access_token dan nilai placeholder di permintaan cURL di atas. Sebagian besar permintaan API Graf memerlukan token akses. Pada akhirnya, Anda harus mempelajari cara kerja token akses dengan membaca dokumentasi token akses kami, namun untuk saat ini, hal yang perlu Anda ketahui adalah:

  • hampir semua permintaan API Graf memerlukan token akses dan
  • cara termudah untuk memperoleh token akses adalah dengan menerapkan Facebook Login

Contoh permintaan/tanggapan kode di dokumentasi API Graf kami tidak akan secara gamblang merujuk ke sebuah token akses, namun Anda harus menganggap bahwa sebuah token akses disertakan di dalam permintaan agar dapat menerima tanggapan.

Struktur

Kami membahas ini secara penuh di Panduan menggunakan API Graf, namun secara garis besarnya, Anda:

  • menggunakan node untuk memperoleh data mengenai suatu objek
  • menggunakan edge untuk mendapatkan koleksi objek yang terhubung ke sebuah node, atau untuk menerbitkan objek ke koleksi tersebut
  • menggunakan kolom untuk menentukan data yang ingin Anda sertakan di dalam tanggapan

URL Host

Hampir semua permintaan diteruskan ke URL host graph.facebook.com. Satu-satunya pengecualian adalah unggahan video, yang alih-alih menggunakan graph-video.facebook.com.

ID Objek

Node adalah objek yang memiliki ID unik, maka untuk memperoleh informasi mengenai sebuah node, Anda mengkueri langsung ID-nya. Sebagai contohnya, Halaman Facebook resmi memiliki ID 20531316728. Kuerilah secara langsung dengan menggunakan ID-nya:

GET graph.facebook.com
  /20531316728

Jika Anda ingin memperoleh data yang spesifik (bernama kolom) tentang sebuah node, Anda dapat menyertakan parameter fields dan menentukan kolom apa yang ingin Anda hasilkan di dalam tanggapan. Pemeriksaan referensi node Halaman secara singkat menunjukkan bahwa salah satu kolom yang dapat Anda peroleh saat membaca objek Halaman adalah kolom cover, yang merupakan foto sampul Halaman. Seperti inilah tampilan kuerinya:

GET graph.facebook.com
  /20531316728?fields=cover

Sebagian besar node memiliki edge yang dapat mengembalikan koleksi objek yang terhubung ke node itu. Untuk mengkueri sebuah edge, gunakan ID node dan nama edge. Salah satu edge yang terdaftar di referensi node Halaman adalah edge photos, yang menghasilkan semua objek Foto yang dimiliki oleh Halaman. Oleh karena itu, untuk memperoleh semua foto yang dimiliki oleh halaman Facebook, kuerilah edge photos node:

GET graph.facebook.com
  /20531316728/photos

Beberapa node membuat Anda dapat mengupdate kolom dengan operasi POST. Misalnya, jika Anda merupakan seorang Admin Halaman Facebook, Anda dapat mengupdate kolom description Halaman tersebut seperti ini:

POST graph.facebook.com
  /20531316728?description=The%20OFFICIAL%20Facebook%20Page

Edge sering kali membuat Anda dapat menerbitkan objek baru ke koleksi node dengan melakukan operasi POST. Berikut adalah cara Anda dapat menerbitkan sebuah foto ke koleksi foto yang dimiliki oleh Halaman Facebook:

POST graph.facebook.com
  /20531316728/photos

Tentu saja, menerbitkan sebuah objek ke sebuah koleksi biasanya memerlukan kolom tambahan mengenai objek tersebut, seperti URL foto, judul, maupun deskripsi. Dokumentasi referensi edge menandakan kolom apa yang diperlukan dan kolom apa yang bersifat opsional.

Anda biasanya dapat menghapus sebuah node dengan melakukan operasi DELETE di ID objek:

DELETE graph.facebook.com
  /20531316728

Versi

API Graf memiliki sejumlah versi. Anda dapat membaca selengkapnya mengenai pembuatan versi di panduan Versi Aplikasi kami, namun kami di sini akan menjelaskan cara membuat panggilan ke versi tertentu.

Sangat mudah, cukup tambahkan huruf v beserta nomor versi di awal path permintaan. Misalnya, berikut adalah panggilan untuk versi 2.9:

GET graph.facebook.com
  /v2.9/20531316728/photos

Jika Anda tidak menyertakan nomor versi, maka kami akan secara default memberikan versi tertua yang ada, jadi sebaiknya sertakan nomor versi di dalam permintaan Anda.

Catatan perubahan API Graf mencantumkan semua versi yang ada, dan Dokumen referensi kami membuat Anda dapat memfilter konten berdasarkan versi.

Langkah Berikutnya

Sekarang mari kita lihat Menggunakan API Graf untuk melihat sejumlah permintaan yang lebih rumit beserta tanggapannya, dan untuk melihat tindakan lain apa yang dapat Anda lakukan dengan API Graf.