错误回答cURL facebook debug_token

时间:2014-06-17 14:52:09

标签: php facebook curl

我尝试使用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;
}

1 个答案:

答案 0 :(得分:1)

您可能会看到应用程序范围的user_id。这是使用Graph API v2-0设计的。有关详细信息,请参阅Weird Facebook ids的答案。

如果您将Graph Explorer与相应的应用程序一起使用,则可以验证这一点。