2014-06-17 4 views
0

cURL을 사용하여 수동으로 Facebook을 사용하여 로그인하려고합니다. 데이터가 정상적으로 반환되지만 사용자 데이터가 올바르지 않습니다 (user_id가 로그인 한 사용자와 동일하지 않음) ... 잘못된 데이터가 들어오는 이유를 아는 사람이 있습니까?답이 잘못되었습니다. cURL facebook debug_token

내 코드 : 당신은 아마 응용 프로그램 범위의 USER_ID를보고있는

$code = "MY PARAM URL"; 

//Getting my access_token to debug_token 
$retornoAccess = $this->getCurl(array('url' => 
'https://graph.facebook.com/oauth/access_token?client_id=MY_APP_ID&redirect_uri=MY_URI&client_secret=MY_SECRET&code=' . $code . '#_=_')); 


//Getting infos: user_id, app_id, is_valid, etc 
$access_debug = explode('&', $retornoAccess); 
$access_debug = array_pop(explode('=', $access_debug[0])); 
$dadosAcesso = $this->getCurl(array('url' => 'https://graph.facebook.com/debug_token?input_token=' . $access_debug . '&access_token=' . $options['facebook']['app']['accesstoken'])); 

public function getCurl($params) 
{ 
    if(is_array($params)){ 
     $header[] = 'Expect:'; 
     $header[] = 'Content-Type: application/json'; 

     $ch = curl_init(); 

     $options = array(); 
     $options[CURLOPT_URL] = $params['url']; 
     $options[CURLOPT_HTTPHEADER] = $header; 
     $options[CURLOPT_SSL_VERIFYPEER] = false; 
     $options[CURLOPT_RETURNTRANSFER] = true; 
     $options[CURLINFO_HEADER_OUT] = true; 

     curl_setopt_array($ch, $options); 
     $ret = curl_exec($ch); 
     $err = curl_error($ch); 
     $info = curl_getinfo($ch); 
     curl_close($ch); 
     return json_decode($ret, true); 
    } 
    return false; 
} 

답변

1

. 그래프 API v2-0 의도적으로 설계된 것입니다. 자세한 내용은 내 대답 Weird Facebook ids을 참조하십시오.

그래프 탐색기를 해당 앱과 함께 사용하면이를 확인할 수 있습니다.

관련 문제