Sayfalar için Facebook Erişim Jetonu


115

Bundan bir şeyler almak istediğim bir Facebook Sayfam var. İlk şey beslemeler ve okuduklarımdan herkese açıklar (access_token'a gerek yok). Ama olayları da almak istiyorum ... ve bunlar halka açık değil ve erişim belirtecine ihtiyaçları var.

Kullanıcının Facebook'a giriş yapmasını veya buna benzer bir şey istemiyorum. Sadece bu sayfadan yapabildiğim tüm verileri aktarmak istiyorum. Bu yüzden burada ve https://developers.facebook.com/blog/post/500/ adresinde bulduğum birçok örneği zaten atmıştım , çünkü kullanıcının oturum açmasını istiyorlar veya müdahale edilmediğim bir kullanıcı işlemi gerektiriyorlar.

İstediğim şey, Facebook Uygulamamın sahip olduğum bu Facebook Sayfasından (yönetici) verileri itmek için tam yetkiye ve access_token'a sahip olmasıdır. Mümkün mü? Zaten birçok şeyi denedim ama hiçbir şey işe yaramıyor.

Bunu tıklamayı denedim: https://www.facebook.com/dialog/oauth?client_id=150635421702954&redirect_uri=http://MY_URL/&scope=manage_pages&response_type=token&fields=access_token - MY_URL’yi siteminkiyle değiştirmek ve her birini düzenlemek için yetki istiyor sahip olduğum sayfa. İstediğim gibi olmasa bile tıkladım ama karşılığında erişim belirtecim olmadı ...


Olayları almak için şimdi bunu yapıyorum (erişim belirtecinin süresi çok dolar): 1 - Grafik Gezgini'nden bir belirteç alın 2 - Aşağıdaki 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){ koduma yapıştırın: var d = data.data; for (i = 0; i <d.length; i ++) {d [i] .message? $ ("# liste"). ekleme ('<li>' + d [i] .message + '</li>'): ''; // daha birçok şey,
anladınız

1
Kalıcı bir belirteç alabilirsiniz: stackoverflow.com/questions/17197970/…
Josh

Yanıtlar:


269
  1. Git Graph API Explorer
  2. Açılır menüden uygulamanızı seçin
  3. "Erişim Jetonu Al" ı tıklayın
  4. manage_pagesİzni seçin (sizin de user_eventsizne ihtiyacınız olabilir , emin değilim)
  5. Şimdi me/accountsbağlantıya erişin ve sayfanızınaccess_token
  6. Sayfanızın kimliğini tıklayın
  7. Sayfaları access_tokenGET alanlarına ekleyin
  8. (Örn: İstediğiniz bağlantıyı Çağrı PAGE_ID/events)

1
Bunu yaparak, tüm sayfalarımdaki bağlantıları yalnızca birinin sayfa jetonunu kullanarak arayabiliyorum. Bu yanlış değil mi? Diğer sayfalarda çalışmayan belirli bir sayfa için jeton almanın bir yolu var mı?
andresp

112
Dağlara tırmanıyorum ve okyanuslarda yüzüyorum sadece bu cevabı arıyorum. Teşekkür ederim.
IMB

15
Herhangi bir nedenle oturumu kapattığınızda oluşturulan erişim belirtecinin süresi dolduğundan bu işlem artık çalışmaz.
coneybeare

1
@coneybeare, lütfen sayfa erişim belirtecinin
ifaour

1
Sürekli boş bir sonuç alıyorum. Bir uygulama sayfası olması fark eder mi?
Maksimum


5

Bunun belgeleri bulmak biraz zor değilse de iyidir.

Facebook Graph API - Sayfa Jetonları

Düğümün fb grafiğini başlattıktan sonra şunları çalıştırabilirsiniz:

var facebookAccountID = yourAccountIdHere 

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

ve almak istediğiniz jetonla birlikte şu adreste bulunan bir JSON yanıtı alın:

res.data[0].access_token
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.