答案 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;