我在测试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获取有效访问令牌需要做什么?
答案 0 :(得分:0)
它是一个应用访问令牌,而不是用户访问令牌。
尝试使用SDK的getAccessToken。