我向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/')
)
)
);
}
答案 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/