2

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/')
            )
        )
    );
}
4

2 に答える 2

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

Facebook :: apiを使用してこの呼び出しを行うことはできません。このメソッドは、このエンドポイントが応答しないJSON応答を予期しているためです。

しかし、なぜとにかくこれをしたいのですか?PHP SDKには、渡されたcodeパラメーターを検出し、含まれているアクセストークンと交換する機能がすでにあり、自動的に実行されます。

于 2012-12-12T07:07:17.447 に答える
0

私はあなたがただできると思います:

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

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

于 2012-12-12T02:09:39.490 に答える