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

时间:2012-03-07 14:09:56

标签: 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 . "&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获取有效访问令牌需要做什么?

1 个答案:

答案 0 :(得分:0)

它是一个应用访问令牌,而不是用户访问令牌。

尝试使用SDK的getAccessToken。