2015-04-24 5 views
-1

Я пытаюсь просто получить список публичных сообщений в Facebook, но это оказалось сложнее, чем ожидалось. После запуска в десятки различных подходов/ответов, я решил попробовать Facebook PHP SDK - без результата:Получить публичные сообщения из учетной записи facebook

$appID  = 'MY_APP_ID'; 
$appSecret = 'MY_APP_SECRET'; 
$userID = 'TARGET_USER_ID'; 

FacebookSession::setDefaultApplication($appID, $appSecret); 

$session = FacebookSession::newAppSession(); 

try { 
    $session->validate(); 
} catch (FacebookRequestException $ex) { 
    // Session not valid, Graph API returned an exception with the reason. 
    echo $ex->getMessage(); 
} catch (\Exception $ex) { 
    // Graph API returned info, but it may mismatch the current app or have expired. 
    echo $ex->getMessage(); 
} 

try { 
    $request = new FacebookRequest($session, 'GET', '/' . $userID . '/feed'); 
    $response = $request->execute(); 
    $graphObject = $response->getGraphObject(); 
} catch(\Exception $exception) { 
    print_r($exception); 
} 

// result always is an empty GraphObject 
print_r($graphObject->AsArray()); 

Моя цель просто зачитать все государственные посты $ USERID, но, несмотря на не получение каких-либо ошибок с этим кодом, $ graphObject всегда пуст. Я уже использовал свою частную учетную запись на facebook и сделал некоторые публичные тестовые сообщения без какого-либо результата.

Что я здесь делаю неправильно? Как я могу получить простой список всех сообщений?

Редактировать: Кажется, что много документов/«howtos» относятся к старой фейсбуке PHP SDK, где есть только один единственный класс (называемый Facebook). Есть ли примеры с новым SDK?

В конце концов, моя единственная цель - прочитать сообщения от одного пользователя (к которому у меня есть полный доступ), как и с твиттером. Если есть более простые способы, я могу переключиться на них. Это не должно быть приложение для нескольких пользователей - это просто способ узнать ваши собственные сообщения fb.

ответ

0

Вы не можете публиковать сообщения в профиле пользователя без авторизации этого конкретного пользователя с user_posts. И вы также можете просто использовать /me/feed. Более подробная информация: https://developers.facebook.com/docs/graph-api/reference/v2.3/user/feed

Что вам нужно сделать:

  • авторизовать пользователя с user_posts
  • Расширение жетона пользователя и сохранить его в базе данных
  • Использование /me/posts с сохраненным Знака, чтобы получить записи

Информация о токенах может быть найдена в следующих статьях:

+0

Как именно вы получаете такого рода разрешения? Я имею в виду, если я не буду показывать свои собственные сообщения в facebook на моем веб-сайте (например), есть ли ключ/секрет, который я могу найти в моих настройках для использования в приложении? Я легко смог сделать это в твиттере, и мне просто нужно воссоздать это для facebook. «Приложение» не должно использоваться любым пользователем. – Katai

+0

вы должны использовать facebook login: https://developers.facebook.com/docs/facebook-login/v2.3 – luschn

+0

Я добавил дополнительную информацию к моему ответу – luschn

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