2016-02-01 2 views
0

Мои проблемы: как я могу сделать токен доступа из SDK 5 или вручную? Когда я создаю его из проводника, Grapth использует его работы. Но его exprires после 60 дней. Я хочу создать ir для каждой загрузки страницы или что-то в этом роде. Я просто хочу получить страницу: new_like_count ...Точек доступа Facebook для страницы

Вот мой код, используя SDK 5:

// FACEBOOK PAGE LIKES 
    $fb = new Facebook([ 
     'app_id' => config('facebook.app.id'), 
     'app_secret' => config('facebook.app.secret'), 
     'default_graph_version' => 'v2.5' 
    ]); 

    $app = new FacebookApp(
     config('facebook.app.id'), 
     config('facebook.app.secret') 
    ); 

    $request = new FacebookRequest(
     $app, 
     config('facebook.access_token'), 
     'GET', 
     '/me/?fields=new_like_count' 
    ); 

    $response = $fb->getClient()->sendRequest($request); 

    //dd($response); 
    $view['facebook_likes'] = $response->getGraphNode()['new_like_count']; 

P.S. Я новичок в этом. Так что мне нужна помощь :)

ответ

0

Он работает:

// FACEBOOK PAGE LIKES 
    $fb = new Facebook([ 
     'app_id' => config('facebook.app.id'), 
     'app_secret' => config('facebook.app.secret'), 
     'default_graph_version' => 'v2.5' 
    ]); 

    $response = $fb->get(
     config('facebook.page.id').'/?fields=likes', 
     $fb->getApp()->getAccessToken()->getValue() 
    ); 

    $view['facebook_likes'] = $response->getGraphNode()['likes']; 

Единственное, что я изменить от:

config('facebook.page.id').'/?fields=new_like_count', 

в

config('facebook.page.id').'/?fields=likes', 

Я понял: доступ к защищенной странице доступа доступен, когда пользователь вошел в систему и имеет разрешения.

+0

лучше отредактируйте свой вопрос, если вы что-то изменили, не создавайте ответ – luschn

0

Вы можете получить токен доступа к Facebook, используя getAccessToken() метод facebook SDK.

$pageId = 'xxxxxxxxxxxxxxx'; // put your page id here 
$page_info = $fb->api("/$pageId?fields=access_token"); // page info in array 
echo 'access token : '. $page_info['access_token']; // get access token from array 

Или

echo 'access token : '. $access_token = $fb->getAccessToken(); // get access token directly 
+0

Но в моем SDK не существует метода. Он говорит: звоните на неопределенный метод Facebook \ Facebook :: getAccessToken() – Ernestyno

+0

ok ... попробуйте первый. $ FB-> апи(); –

+0

же .. теперь она выглядит: // FACEBOOK PAGE ЛЮБИТ $ FB = новый Facebook ([ 'APP_ID' => конфигурации ('facebook.app.id'), 'app_secret' => конфигурации ('фейсбук .app.secret '), ' default_graph_version '=>' v2.5 ' ]); \t \t \t \t $ fb-> getApp(); \t \t $ запрос = новый FacebookRequest ( \t \t \t $ FB-> getApp(), конфигурации ('facebook.access_token'), 'GET', '/ меня/поля = new_like_count? ); $ response = $ fb-> getClient() -> sendRequest ($ request); \t \t // dd ($ response); $ view ['facebook_likes'] = $ response-> getGraphNode() ['new_like_count']; – Ernestyno

Смежные вопросы