2012-04-20 3 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]/사진 빠른 응답 blaff- 감사합니다 @

+0

합니다. 위의 코드에서 어떻게 실행할 수 있습니까? 코드를 어디에 넣어야합니까? – Yahoo

+0

당신은 이것을 다음과 같이 사용할 수 있습니다 :

+0

@Yan - Hellow :) 위의 코드를 실행하면"Hello "라는 단어가 나오지만 코드에 따르면"Hellow Aditya (USERNAME) "이 문제가 발생하지 않습니다. 붙여 넣기 할 때 - http://graph.facebook.com/me/picture?type=large 토큰 오류 2500 메시지가 나타납니다.": "정보를 쿼리하는 데 활성 액세스 토큰을 사용해야합니다. 현재 사용자에 관한 정보입니다. ", 제발 내가 도와주세요. – Yahoo

관련 문제