Я нашел способ получить ваш последний статус на Facebook. Вот как вы это делаете:
1) Создайте приложение на Facebook и скопируйте свой секретный ключ приложения и идентификатор приложения.
2) Предоставьте приложению read_stream и offline_access вашему профилю. (http://developers.facebook.com/docs/authentication/permissions) Чтобы получить ваш последний статус, приложению требуется access_token. С предоставленным offline_access access_token не должен истекать никогда. Самый простой способ сделать это - нажать кнопку, созданную этим кодом: (не забудьте заполнить в 'id вашего приложения' и установите для cookie значение true!)
<fb:login-button perms="read_stream,offline_access"></fb:login-button>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true});</script>
3) Теперь попробуйте выяснить, какой access_token он использует. Маркер access_token сохраняется в файле cookie fbs_appId. Найдите его, используя ваш браузер или $_COOKIE['fbs_appId']
. Ищите access_token=...
.
4) Теперь, когда у вас есть (надеюсь) никогда не истекающий access_token, вы можете использовать следующий код:
$access_token='xxxxxxxxxxxxxxxxxxxx';
$appId='123456789132456789';
$appSecret='xxxxxxxxxxxxxxxxxxxx';
$profileId='123456789';
//http://github.com/facebook/php-sdk/blob/master/src/facebook.php
require 'facebook.php';
$facebook = new Facebook(array('appId' => $appId,'secret' => $appSecret));
$response = $facebook->api('/'.$profileId.'/feed?limit=1&access_token='.$access_token);
5) Часть сообщения должна быть расположена: $response['data'][0]['message']
Я не знаю, КАК долго токен доступа действителен. Facebook говорит:
Позволяет вашему приложению выполнять авторизованные запросы от имени пользователя в любое время. По умолчанию срок действия большинства маркеров доступа истекает через короткий промежуток времени, чтобы приложения выполняли запросы от имени пользователя только тогда, когда оно активно использует приложение. Это разрешение делает маркер доступа, возвращенный нашей конечной точкой OAuth, долгоживущим.