Php bir kamu Facebook Fanpage akışı almak nasıl?

3 Cevap php

Ben bir giriş gerektirmeden Facebook API ile web siteme üzerine benim kamu fanpage besleme görüntülemek istiyorum.

Ben bunu yapıyorum

require_once('../includes/classes/facebook-platform/php/facebook.php');

$fb = new Facebook($api_key, $secret);
$fb->api_client->stream_get('',$app_id,'0','0','','','','',''));

Ama bu hatayı alıyorum

 Fatal error:  Uncaught exception 'FacebookRestClientException' with message 'user id parameter or session key required' in includes/classes/facebook-platform/php/facebookapi_php5_restlib.php:3065
 Stack trace:
#0 includes/classes/facebook-platform/php/facebookapi_php5_restlib.php(1915): FacebookRestClient->call_method('facebook.stream...', Array)
#1 facebook/api.php(12): FacebookRestClient->stream_get('', 13156929019, '0', '0', 30, '', '', '', '')
#2 {main}
  thrown in includes/classes/facebook-platform/php/facebookapi_php5_restlib.php on line 3065

Sonra çağrı benim kullanıcı kimliği eklemek için, çünkü 'kullanıcı id parametresi veya gerekli oturum anahtar', düşündüm

require_once('../includes/classes/facebook-platform/php/facebook.php');

$fb = new Facebook($api_key, $secret);
$fb->api_client->stream_get(502945616,13156929019,$app_id,'0','0','','','','',''));

Ama sonra bu hata var

Fatal error:  Uncaught exception 'FacebookRestClientException' with message 'Session key invalid or no longer valid'

Ben tamamen habersizler değilim :)

3 Cevap

İşte ben yaptım

1) Facebook'a giriş yapın.

2) Grant your application offline access to your account: http://m.facebook.com/authorize.php?api_key=YOUR_API_KEY&v=1.0&ext_perm=offline_access

3) Add read stream permission http://m.facebook.com/authorize.php?api_key=YOUR_API_KEY&v=1.0&ext_perm=read_stream

4) Generate a key code http://www.facebook.com/code_gen.php?v=1.0&api_key=YOUR_API_KEY

5) bir kez bu komut dosyasını çalıştırın ve "session_key" kopyalayın.

$facebook = new Facebook($api_key, $api_secret);
$infinite_key = $facebook->api_client->auth_getSession(YOUR_KEY_CODE);
print_r($infinite_key);

6) Tak ve çalıştır!

$facebook->api_client->user = YOUR_FACEBOOK_USER_ID
$facebook->api_client->session_key = YOUR_INFINITE_KEY
$facebook->api_client->expires = 0;
$feed = $facebook->api_client->stream_get(YOUR_FACEBOOK_USER_ID, FAN_PAGE_ID);

Yani bascially, bu "bakış açısından" dan yem kapmak ama sadece belirtilen Fan sayfasından öğeleri göstermek için filtre olacaktır.

Yasal Uyarı: Bu çalışır, ama ben bu "desteklenen" verileri kapma için bir yöntem, hatta hiç izin olup olmadığından emin değilim.

Referanslar:

http://www.emcro.com/blog/2009/01/facebook-infinite-session-keys-no-more/

http://blog.jylin.com/2009/10/01/loading-wall-posts-using-facebookstream_get/

Tamam, ben birçok kez denedim, ama ben kod tırnak eklendiğinde çalıştı.

$infinite_key = $facebook->api_client->auth_getSession('YOUR_KEY_CODE');

Öneriniz için teşekkür ederiz!

Kodunuzda Facebook kitaplık gerekir ve api_key APP_ID değil söylemek daha iyidir.

<?php 
require_once('facebook.php'); 
$facebook = new Facebook('YOUR_APP_ID', 'YOUR_APP_SECRET'); 
$infinite_key = $facebook->api_client->auth_getSession('YOUR_KEY_CODE');
print_r($infinite_key); 
?>