Token Akses Facebook untuk Halaman

115

Saya memiliki Halaman Facebook yang saya ingin dapatkan darinya. Hal pertama adalah feed dan dari apa yang saya baca bersifat publik (tidak perlu access_token). Tapi saya juga ingin mendapatkan acara ... dan itu bukan publik dan membutuhkan access_token.

Saya tidak ingin pengguna masuk ke Facebook atau semacamnya. Saya hanya ingin mendorong semua data yang saya bisa dari halaman satu-satunya ini. Itulah mengapa saya telah membuang banyak contoh yang saya temukan di sini dan yang ada di https://developers.facebook.com/blog/post/500/ , karena mereka ingin pengguna untuk masuk atau memerlukan tindakan pengguna yang tidak saya singgung.

Yang saya inginkan adalah Aplikasi Facebook saya memiliki otorisasi penuh dan access_token untuk mendorong data dari Halaman Facebook yang saya miliki (admin) ini. Apakah ini mungkin? Saya sudah mencoba banyak hal tetapi sepertinya tidak ada yang berhasil.

Saya mencoba mengklik ini: https://www.facebook.com/dialog/oauth?client_id=150635421702954&redirect_uri=http://MY_URL/&scope=manage_pages&response_type=token&fields=access_token - mengubah MY_URL ke situs saya dan meminta otorisasi untuk mengedit setiap halaman yang saya miliki. Meskipun tidak menjadi yang saya inginkan, saya mengklik tetapi tidak memiliki akses_token sebagai balasannya ...

samping
sumber
Untuk mendapatkan event, saya melakukan ini sekarang (access_token sering kedaluwarsa): 1 - Dapatkan token dari Graph Explorer 2 - Tempelkan di kode saya di bawah ini: var authToken = 'THE_CODE_I_GOT'; var feedQuery = 'graph.facebook.com/MY_PAGE_ID/feed'; var feedURL = feedQuery +'?access_token='+ authToken +'&callback=?'; $.getJSON(feedURL,function(data){ var d = data.data; untuk (i = 0; i <d.length; i ++) {d [i] .message? $ ("# list"). append ('<li>' + d [i] .message + '</li>'): ''; // banyak hal lain, Anda mengerti}}); `
selain
1
Anda bisa mendapatkan token permanen: stackoverflow.com/questions/17197970/…
Josh

Jawaban:

269
  1. Pergi ke Graph API Explorer
  2. Pilih aplikasi Anda dari menu tarik-turun
  3. Klik "Dapatkan Token Akses"
  4. Pilih manage_pagesizin (Anda mungkin memerlukan user_eventsizin juga, tidak yakin)
  5. Sekarang akses me/accountskoneksi dan salin halaman Andaaccess_token
  6. Klik pada id halaman Anda
  7. Tambahkan halaman access_tokenke kolom GET
  8. Panggil koneksi Anda inginkan (misalnya: PAGE_ID/events)
ifaour
sumber
1
Dengan melakukan ini, saya dapat memanggil koneksi di semua halaman saya dengan menggunakan token halaman hanya salah satunya. Bukankah ini salah? Apakah ada cara untuk mendapatkan token hanya untuk satu halaman tertentu yang tidak berfungsi di halaman lain?
danresp
112
Saya telah mendaki gunung dan berenang di samudra hanya mencari jawaban ini. Terima kasih.
IMB
15
Proses ini tidak berfungsi lagi karena token akses yang dihasilkan kedaluwarsa saat Anda keluar karena alasan apa pun.
coneybeare
1
@coneybeare, lihat dokumen ini tentang cara memperpanjang token akses halaman
ifaour
1
Saya terus mendapatkan hasil kosong. Apakah itu membuat perbedaan jika itu adalah halaman aplikasi?
Maksimal
16

Lihat di sini jika Anda ingin memberi Aplikasi Facebook akses permanen ke halaman (bahkan saat Anda / pemilik aplikasi keluar):

http://developers.facebook.com/docs/opengraph/using-app-tokens/

"App Access Token tidak kedaluwarsa kecuali Anda menyegarkan rahasia aplikasi melalui pengaturan aplikasi Anda."

Robin Layfield
sumber
6
Ini tidak membantu mendapatkan acara untuk halaman terbatas.
Sinan
2
Apa itu masih benar ?!
jeromej
5

Dokumentasi untuk ini bagus jika tidak sedikit sulit ditemukan.

API Grafik Facebook - Token Halaman

Setelah menginisialisasi fbgraph node , Anda dapat menjalankan:

var facebookAccountID = yourAccountIdHere 

graph
.setOptions(options)
.get(facebookAccountId + "/accounts", function(err, res) {
  console.log(res); 
});

dan menerima respons JSON dengan token yang ingin Anda ambil, yang terletak di:

res.data[0].access_token
Anthony
sumber