Facebook OAUTH令牌始终为NULL

时间:2012-12-12 02:00:29

标签: php facebook oauth facebook-oauth

我向Facebook发送令牌请求我收到了NULL回复。不是例外或成功回应。始终NULL

$this->facebook = new Facebook(array(
    'appId'  => 'APP ID', 
    'secret' => 'APP SECRET',
    'cookie' => true
));

if(isset($_GET['code'])) {
    $token = $this->facebook->api('/oauth/access_token', 'GET', array(
        'client_id' => 'APP ID',
        'client_secret' => 'APP SECRET',
        'redirect_uri' => 'http://mywebsite.com?route=' . urlencode('account/connect/facebook/'),
        'code' => $_GET['code']
    ));

    print_r($token); // NULL
    exit;
} else {
    $this->redirect($this->facebook->getLoginUrl(array(
                'redirect_uri' => 'http://mywebsite.com?route=' . urlencode('account/connect/facebook/')
            )
        )
    );
}

2 个答案:

答案 0 :(得分:1)

$token = $this->facebook->api('/oauth/access_token',

您不能使用Facebook :: api进行此调用,因为该方法需要JSON响应,此端点响应。

但是你为什么要这样做呢? PHP SDK已经具有检测传递的code参数的功能,并将其替换为包含的访问令牌,并自动执行。

答案 1 :(得分:0)

我认为你可以做到:

$token = $this->facebook->getAccessToken();

http://developers.facebook.com/docs/reference/php/facebook-getAccessToken/