2012-01-18 9 views
0

をリフレッシュする必要があります:Facebook PHP。ログインとリダイレクトした後、ユーザーが手動でページ私は、ユーザーのログで問題を抱えている

1)

2)ユーザーは、Facebookのサイト上の情報を記入し、Facebookのログインボタンをクリックし

3)ユーザーは、このコードは、次に実行される私のサイト

4)にリダイレクトされます。

if ($user) 
{  
    try 
    { 
     // Proceed knowing you have a logged in user who's authenticated. 
     $user_profile = $facebook->api('/me'); 
     $fb_user_id = $user_profile['id']; 
     ... 

のTh eApiコールでエラーが発生する:

OAuthException:アクティブなアクセストークンを使用して、現在のユーザーに関する情報を照会する必要があります。

5)彼らはログインしたことがないかのようにユーザーが処理されます。

6)手動でページを更新すると、セッションが認識されるようにすると、API呼び出しはエラーをスローしません。

何が起こっていますか?私は遅れを取る必要がありますか?

+0

あなたはログインを処理するために何を使用していますか? 'Facebook :: getLoginUrl'(PHP-SDK)または' FB.login'(JS-SDK)? –

+0

$ user = $ facebook-> getUser(); – lewicki

+0

私は他の何かを意味しました。あなたのログインボタンは何ですか?これは 'fb:login-button'です。リンクは' getLoginUrl'で作成されたか、クリックでバインドされた 'FB.login'ですか? –

答えて

-1

私が間違ってFB JSライブラリを使用していました。

編集:私は、ユーザーがFacebookからログインしているかどうかを確認するために、PHP SDKを使用して、それがあればよ、私は詳細を覚えていないが、私は私の最高の

を試してみましょう セッションを保存し、Cookieを保存します。 JavaScript SDKを使用してFacebookにログインし、ログインページにコールバックしてサーバーとセッション変数を更新しています。私が覚えていることから、何かが私にgetuserの問題を与えていたことを覚えています。 sdkで与えられたサンプルファイルを読み直した後、それが動作するようになりました。

+0

PHP SDKを使用している人にとっては良い解決策ではありません。 PHP SDK( - > getLoginUrl())を使用してログインした後、JS SDKを使用してログイン後にページを更新します。ログインした後、ユーザーはログインの時間があると思います。アクションの途中で突然リダイレクトされる前に、ページ上のリンクをクリックして対話してください。 –

0

回答があります。 同じ問題が発生した後(ログインが成功した後は更新されません)。 私は無駄

これにログインイベント時にwindow.location.reloadを()を追加しようとした、しかし、私のためにトリックを行うようだ:

FB.Event.subscribe('auth.login', function(response) { 
    window.location.href=window.location.href; 
} 
関連する問題