Php 为什么getAccessToken()返回的字符串比手动调用短https://graph.facebook.com/oauth/access_token?

Php 为什么getAccessToken()返回的字符串比手动调用短https://graph.facebook.com/oauth/access_token?,php,facebook-php-sdk,Php,Facebook Php Sdk,在测试PHP-SDK时,我正在执行以下操作: 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 . "

在测试PHP-SDK时,我正在执行以下操作:

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;
$aContext = array( 'http' => array(
                'proxy' => 'tcp://192.168.55.40:80',
                'request_fulluri' => true,
                ),
            );
$cxContext = stream_context_create($aContext);
$response = file_get_contents($token_url, FALSE, $cxContext);

$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, FALSE, $cxContext));
//var_dump($facebook->getAccessToken());
$facebook->setAccessToken($params['access_token']);
$user = $facebook->api('/me');



var_dump($user);exit;

$facebook->getAccessToken()返回一个由48个字符组成的字符串。params['access_token']是112个字符。为什么会这样?我需要做什么才能使用SDK获得有效的访问令牌?

它是应用程序访问令牌,而不是用户访问令牌

尝试改用SDK的getAccessToken