【发布时间】:2014-06-17 14:52:09
【问题描述】:
我正在尝试使用 cURL 手动登录 Facebook。数据正常返回,但用户数据不正确(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;
}
【问题讨论】: