2012-04-20 156 views
0

我正在嘗試獲取Facebook個人資料照片。我正在使用以下值代替#########。運行PHP後,我收到一條消息「Hello」。 我想讓我的名字也像「Hellow Aditya」以及我的個人資料照片一樣。我應該編輯什麼來獲取?也可以將個人資料圖片保存在服務器上嗎?如何從Facebook獲取個人資料照片

<?php 

    $app_id = ###############; 
    $app_secret = "#################"; 
    $my_url = "###################"; 

    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']; 

    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); 

    $graph_url = "https://graph.facebook.com/me?access_token=" 
     . $params['access_token']; 

    $user = json_decode(file_get_contents($graph_url)); 
    echo("Hello " . $user->name); 
    } 
    else { 
    echo("The state does not match. You may be a victim of CSRF."); 
    } 

?> 

回答

1

你可以這樣說: http://graph.facebook.com/[USER ID] /圖片

+0

@ blaff-感謝您的快速響應。 我不明白我怎麼能從上面的代碼執行它? 我應該在哪裏放置代碼? – Yahoo 2012-04-20 07:47:24

+0

你可以這樣使用: 2012-04-20 09:48:09

+0

@Yan - Hellow :) 當我運行上面的代碼時,我得到的只是單詞」你好「,但根據代碼我認爲我應該得到」Hellow Aditya(USERNAME) 「BuT這個沒有發生 當我粘貼 - http://graph.facebook.com/me/picture?type=large 我得到令牌錯誤2500 消息」:「必須使用一個活動的訪問令牌來查詢信息關於當前用戶。「, 你能幫我解決這個問題嗎 – Yahoo 2012-04-20 11:52:57

相關問題