得到facebook状态

时间:2011-06-09 18:52:33

标签: facebook

我正在寻找一个好的,简单的PHP或JS函数来获取我最新的Facebook状态更新。任何人都有一个很好的解决方案?

我有一个JS脚本,但只是停止工作。

继承人的代码: view code

提前致谢!

2 个答案:

答案 0 :(得分:1)

如果你有一个Facebook应用程序,你可以用它来生成一个访问令牌,然后你就可以发一个简单的http请求:

https://graph.facebook.com/me/statuses?access_token=2221230867|2.xxxxx.xxxxx

当您通过https://www.facebook.com/developers创建FB应用程序时,会链接到一些示例PHP代码。如果指定offline_access权限,则访问代码不会自动过期。见:http://developers.facebook.com/docs/authentication/

答案 1 :(得分:1)

如果有人需要,我在mt blog http://dashasalo.com/2011/09/12/get-your-own-facebook-status/上有一个这方面的工作示例这是一个使用Facebook示例的修改示例

// your app id from app settings page
$app_id = "11111111";
// your app secret
$app_secret = "sdfsdfdsfdsfdsfdf";
// url facebook will post data to
$my_url = "http://dashasalo.com/fbauth.php";

session_start();
$code = $_REQUEST["code"];

if(empty($code)) {
  $_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
  $dialog_url = "https://www.facebook.com/dialog/oauth?client_id="
    . $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
    . $_SESSION['state'].'&scope=user_status,offline_access';

  echo("<script>top.location.href='" . $dialog_url . "'</script>");
}

if($_REQUEST['state'] == $_SESSION['state']) {
  $token_url = "https://graph.facebook.com/oauth/access_token?"
    . "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url)
    . "&client_secret=" . $app_secret . "&code=" . $code;

  $response = file_get_contents($token_url);
  $params = null;
  parse_str($response, $params);

  echo("Auth tocken =  " . $params['access_token']);
}
else {
  echo("The state does not match. You may be a victim of CSRF.");
}

如果一切正常,您将打印出您的身份验证令牌。复制并粘贴到以下代码中:

$appId = "11111111";
$appSecret = "sdfsdfdsfdsfdsfdf";
// auth tocken we have just printed out
$authToken = 'AAAAAABBBBBBBCCCCCCDDDDDDD';
// your facebook user id
$userId = '568864222';

$graphUrl = "https://graph.facebook.com/".$userId."/statuses?limit=1&access_token=" . $authToken;

$statusMessage = json_decode(file_get_contents($graphUrl), true);
echo ($statusMessage['data'][0]['message']);

上面的代码将打印出您的最新状态更新。如果您想获取所有状态的列表,只需从网址中删除限制。

$graphUrl = "https://graph.facebook.com/".$userId."/statuses?access_token=" . $authToken;