2012-12-12 42 views
2

我向Facebook發送令牌請求我收到NULL響應。不是例外或成功的迴應。始終NULLFacebook OAUTH令牌始終爲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/') 
      ) 
     ) 
    ); 
} 

回答

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

不能使用Facebook :: API來進行此調用,因爲該方法需要一個JSON響應,這個終點確實是而不是響應。

但是,爲什麼你要這樣做呢? PHP SDK已經具有檢測傳遞的code參數的功能,並將其交換爲包含的訪問令牌,並自動進行。