Facebook PHP SDK v5: читать страницы публичных каналов?

(Я новичок в Facebook SDK)

Я установил Facebook PHP SDK v5 следующим образом:

# ./composer.phar require facebook/php-sdk-v4

Тогда вот моя первая страница, которая получаетUser Access Token успешно.

<?php
require_once 'vendor/autoload.php';

$fb = new Facebook\Facebook([
    'app_id' => '<my-valid-app-id>',
    'app_secret' => '<my-valid-app-secret>',
    'default_graph_version' => 'v2.6',
    'persistent_data_handler'=>'session',
]);

$helper = $fb->getRedirectLoginHelper(); 
$accessToken = "";

if ( isset($_SESSION["facebook_access_token"]) ) {
    $accessToken = $_SESSION["facebook_access_token"];
}

if ( $accessToken=="" ) {
    $loginUrl = $helper->getLoginUrl('http://www.example.com/login-callback.php', []);      
    echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
    exit;
}

try {
    $response = $fb->get('/me', $accessToken);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
    echo 'Graph returned an error: ' . $e->getMessage();
    exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
    echo 'Facebook SDK returned an error: ' . $e->getMessage();
    exit;
}

$me = $response->getGraphUser();
echo 'Logged in as: ' . $me->getName() . ' (' . $me->getId() . ')';
echo '<hr>';

// -----------------------------------------------------------------    
// --------------------- THIS WORKS UP TO HERE! --------------------
// -----------------------------------------------------------------

/**
 * GET PUBLIC FEEDS
 */
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;

$session = new FacebookSession( $accessToken );

$request = new FacebookRequest(
  $session,
  'GET',
  '/Google/feed?limit=5'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();

print_r( $graphObject );
?>

(Существует еще одна страница под названием:login-callback.php который также отлично работает; чтобы получитьUser Access Token сохранено в сеансе.)

Теперь ... как уже упоминалось с комментариями в файле выше, все работает с помощью этой сессии комментариев:

// -----------------------------------------------------------------    
// --------------------- THIS WORKS UP TO HERE! --------------------
// -----------------------------------------------------------------

Это показывает что-то вроде этого:

Logged in as: Robert Walters (48650862XXXXXXX)
проблема

Но после указанного выше определенного момента (как мы видим), я начинаю читать публичные каналы из/Google/feed?limit=5 стр.

Тогда приходит ошибка:

PHP Fatal error:  Class 'Facebook\\FacebookSession' not found in ...

...............

ВопросыСтранно, я не нашелFacebookSession.php файл в моем SDK.После этого, как мне правильно читать общедоступные каналы от пользователей и страниц?

Спасибо всем.

 CBroe03 июн. 2016 г., 12:28
Просто посмотрите примеры в документации - даже самые простые, такие как «Извлечение профиля пользователя», могут показать вам, как делать простые запросы API.
 CBroe03 июн. 2016 г., 10:34
Вы используете устаревший код -FacebookSession существовал в v4 PHP SDK. Пойдите, проверьте документацию, у этого есть примеры для основного материала, такого как это. И к вашему сведению, чтобы читать публичные посты на общедоступных страницах, вы также можете использовать свой токен доступа к приложению, что означает, что для этого не обязательно, чтобы пользователи входили в ваше приложение.
 夏期劇場03 июн. 2016 г., 11:56
Привет @CBroe, большое спасибо за помощь. Есть ли примеры или рекомендуемые коды с наилучшим подходом для этой цели, пожалуйста? :)

Ответы на вопрос(0)

Ваш ответ на вопрос