Gunakan Graph API untuk mendapatkan data keluar masuk grafik sosial Facebook.
Ini mencakup:
Panduan ini menjelaskan cara bekerja dengan Graph API menggunakan Facebook SDK untuk iOS.
Pemanggilan Graph API mewajibkan seseorang untuk login ke aplikasi Anda melalui Facebook dan mengotorisasi izin untuk aplikasi Anda.
Contoh: jika Anda ingin mengambil alamat email seseorang, aplikasi Anda harus diotorisasi untuk izin email
. Pastikan Anda memahami dengan baik:
Anda juga harus menyiapkan lingkungan pengembangan untuk iOS SDK dan penyiapan aplikasi Anda, lihat iOS, Panduan Memulai.
SDK memiliki dua kelas untuk bekerja dengan Graph API: FBSDKGraphRequest
dan FBSDKGraphRequestConnection
yang mirip dengan NSURLRequest
dan NSURLRequestConnection
kerangka kerja Fondasi.
Untuk menggunakan FBSDKGraphRequest
, sediakan permintaan dengan endpoint Graph API tertentu. Lalu panggil FBSDKGraphRequestConnection
untuk memulai permintaan dan memproses penyelesaian.
Untuk kenyamanan, SDK memiliki metode startWithCompletionHandler:
di FBSDKGraphRequest
untuk secara implisit membuat FBSDKGraphRequestConnection
untuk Anda.
Contoh: untuk mengambil informasi profil seseorang yang saat ini login ke aplikasi Anda, lakukan panggilan ini:
guard AccessToken.current != nil else { return } let request = GraphRequest(graphPath: "me", parameters: [:]) request.start() { connection, result, error in if let result = result, error == nil { print("fetched user: \(result)") } }
Di Graph API, Anda dapat membuat permintaan batch dalam satu permintaan HTTP, lihat Graph API, Membuat Permintaan Batch.
Dengan SDK, Anda dapat membuat beberapa permintaan dan menambahkannya ke instance FBSDKGraphRequestConnection
yang sama. Anda harus membuat batch permintaan jika memungkinkan untuk meminimalkan traffic jaringan.
Contoh: di sini kita meminta Suka seseorang:
guard let token = AccessToken.current else { return } if token.hasGranted("user_likes") { let meRequest = GraphRequest(graphPath: "me", parameters: [:]) let likesRequest = GraphRequest(graphPath: "me/likes", parameters: [:]) let connection = GraphRequestConnection() connection.add(meRequest) { connection, result, error in // Process the 'me' information } connection.add(likesRequest) { connection, result, error in // Process the 'likes' information } connection.start() }
Anda juga dapat menentukan parameter batch dengan overload addRequest:completionHandler:
, yang mencakup kemampuan untuk membuat batch dengan permintaan dependensi.
Meskipun Anda selalu dapat membuat secara manual FBSDKGraphRequests
agar bekerja dengan endpoint Graph API, Facebook SDK untuk iOS menyederhanakan pembagian foto dan video dengan FBSDKShareKit.framework
. Contoh: untuk membagikan foto:
let image: UIImage! let content = SharePhotoContent() content.photos = SharePhoto(image: image, isUserGenerated: true) // Assuming self implements SharingDelegate let dialog = ShareDialog( viewController: self, content: content, delegate: self ) dialog.show()
Anda juga dapat membagikan video menggunakan jenis FBSDKShareVideoContent
. Lihat Membagikan di iOS.
Anda juga dapat menghapus objek yang dibuat aplikasi Anda dengan mengirimkan permintaan DELETE
dengan ID objek sebagai jalur grafik.
Contoh: bayangkan Anda menerbitkan foto ke Halaman dan menerima ID "1234". Kode berikut akan menghapus foto tersebut:
guard let token = AccessToken.current else { return } if token.hasGranted("pages_manage_posts") { let request = GraphRequest(graphPath: "1234", parameters: [:], httpMethod: .delete) request.start { connection, result, error in if error == nil { print("Deleted photo") } } }
Anda dapat bereksperimen dan menguji permintaan Anda menggunakan Graph API Explorer.
Anda juga dapat mengaktifkan mode debug Graph API, lihat Pemecahan Masalah iOS SDK, Mode Debug Graph API.