2011-06-09 93 views
0

我正在尋找一個好的,簡單的PHP或JS功能來獲取我最新的Facebook狀態更新。任何人都有很好的解決方案獲取Facebook狀態

我有一個JS腳本,但只是停止工作。

繼承人的代碼: view code

提前感謝!

+0

在鏈接的例子中,我看到了一個錯誤:「無法加載來源:http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.min.js」聽起來像CDN jQuery鏈接不起作用。 – David 2011-06-09 18:54:46

回答

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

萬一有人需要它,我有這對MT博客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']); 

上面的代碼將打印出您的最新狀態更新。如果你想獲得所有狀態的列表,只需從url中刪除限制。

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