Saat menggunakan token akses, Anda mungkin perlu memeriksa informasi apa yang terkait dengannya, seperti pengguna atau kedaluwarsanya. Untuk mendapatkan informasi ini, Anda dapat menggunakan alat debug kami, atau Anda dapat menggunakan endpoint API.
Untuk menggunakan API ini, Anda dapat mengeluarkan permintaan API Graf:
curl -i -X GET "https://graph.facebook.com/debug_token? input_token={input-token}& access_token={valid-access-token}
Ganti {input-token}
dengan token akses yang ingin Anda ketahui informasinya dan {access-token}
dengan token akses yang valid. Token harus berasal dari aplikasi yang sama.
Tanggapan panggilan API adalah array JSON yang terlihat seperti ini:
{ "data":{ "app_id":"{app-id}", "type":"USER", "application":"{app-name}", "data_access_expires_at":1576687825, "expires_at":1570820400, "is_valid":true, "scopes":[ "pages_show_list", "public_profile" ], "granular_scopes":[ { "scope":"pages_show_list", "target_ids":[ "{page-1-app-can-access-id}", "{page-2-app-can-access-id}" ] } ], "user_id":"10215241773831025" } }
Untuk token akses yang lebih panjang masa berlakunya, kolom issued_at
juga dikembalikan.
Facebook tidak akan memberi tahu Anda bahwa token akses menjadi tidak valid. Kecuali jika Anda telah mengirimkan waktu expiry
ke aplikasi Anda bersama token akses, aplikasi Anda hanya akan mengetahui bahwa token yang diberikan menjadi tidak valid ketika Anda mencoba membuat permintaan ke API.
Karena acara terkait keamanan, token akses mungkin tidak valid sebelum waktu kedaluwarsa yang diharapkan.
Dalam sebagian besar aplikasi, cara terbaik menangani token kedaluwarsa adalah mengambil gambar pesan kesalahan yang dimunculkan API. Dalam setiap aksus, API akan mengembalikan pesan kesalahan, kode, dan subkode di badan JSON yang menjelaskan sifat kesalahan. Untuk informasi selengkapnya tentang kode dan subkode, lihat error dokumentasi referensi kode.
{ "error": { "message": "Error validating access token: Session has expired on Wednesday, 14-Feb-18 18:00:00 PST. The current time is Thursday, 15-Feb-18 13:46:35 PST.", "type": "OAuthException", "code": 190, "error_subcode": 463, "fbtrace_id": "H2il2t5bn4e" } }
Tanggapan dikirim ketika seseorang keluar dari aplikasi Anda atau mengubah kata sandi mereka.
{ "error": { "message": "Error validating access token: The session is invalid because the user logged out.", "type": "OAuthException", "code": 190, "error_subcode": 460, "fbtrace_id": "H2il2t5bn4e" } }
Orang itu harus masuk lagi untuk mendapatkan token akses yang valid jadi Anda dapat melakukan panggilan API atas nama mereka. Alur masuk yang digunakan aplikasi Anda oleh orang baru harus menentukan metode mana yang Anda adaptasi.
Ketika seseorang mencabut otorisasi atau tidak pernah mengotorisasi aplikasi Anda, tanggapan kesalahan akan sama seperti seseorang baru mengenal aplikasi Anda.
{ "error": { "message": "Error validating access token: User {user-id} has not authorized application {your-app-id}.", "type": "OAuthException", "code": 190, "error_subcode": 458, "fbtrace_id": "H2il2t5bn4e" } } }
Kesalahan API di iOS SDK biasanya muncul melalui instance NSError
yang diteruskan ke callback. Lihat dokumentasi kesalahan SDK iOS untuk detail selengkapnya.
Kesalahan API di Android SDK biasanya muncul melalui objek Response
yang diteruskan ke callback Requests
. Secara khusus, Anda dapat memanggil response.getError()
untuk memulihkan instance FacebookRequestError
.
Anda dapat membaca kesalahan lainnya di referensi Kesalahan API tetapi ketiga kesalahan ini adalah paling umum ketika menangani token akses.