2

このフォーラムのすべてのスレッドを読みましたが、解決策が見つかりません..

私は facebook による最後の Php SDK を使用しています: v3.2.2 。

だから私はこれを使用しました:

//start fb
$facebook = new \Facebook(array(  
    'appId'  => $fb_app_id,  
    'secret' => $fb_app_secret,  
    'cookie' => true,  
));

// get id user-fb
$fbUser = $facebook->getUser();

if ($fbUser) {
    try {
      $fbUserProfile = $facebook->api('/me'); // take user-infos
      $friends = $facebook->api('/me/friends'); // take his friend

    } catch (FacebookApiException $e) {
      error_log($e);
      $fbUser = null;
    }
}

if ($fbUser) {
    $logoutUrl = $facebook->getLogoutUrl(array( 'next' => ('my-url') ));
} else {
    $loginUrl = $facebook->getLoginUrl(array(
        'canvas' => 1,
        'fbconnect' => 0,
        'scope' => 'email,offline_access,publish_actions',
        'req_perms' => 'publish_stream,email',
        'redirect_uri' => 'my-redirect-url'
        ));
}

何が悪いのかわかりません..テストすると、初めてloginUrlをクリックして認証を取得できます。しかし、もう一度 getUser を試行すると、関数$facebook->getUser() return 0が再び呼び出され、loginUrl が再び取得されますが、リンクをクリックすると、コールバック URL にリダイレクトされるだけです。

アプリケーション facebook に特別なパラメータが必要かどうかはわかりません。私の app_id と app_secret は 100% 確実です。

4

2 に答える 2

0

(コメントで回答された質問。回答のない質問を参照してください。ただし、コメントで問題は解決されています(またはチャットで拡張されています)

OP は次のように書いています。

OK、エラーを解決しました: コールバック URL が間違っていました。特別な URL ではなく、現在の URL を呼び出す必要がありました。

于 2015-01-26T14:17:53.110 に答える