0

現在、サイトにアクセスしているユーザーの 3 つの状態を識別できる Javascript があります。

  1. Facebookにログインしていない
  2. Facebook にログインしましたが、アプリに接続されていません
  3. Facebook にログインし、自分のアプリに接続しました

これは素晴らしく、うまく機能しますが、3 種類のステータスに対して 3 つの異なるコンテンツを表示する必要があり、現在は 3 つの状態すべてを DOM にロードし、jQuery を使用してステータスのステータスが表示されるとすぐに正しいバージョンを表示します。ユーザーは理解しています。

1 つを表示するためだけに 3 つの異なるコンテンツ タイプをロードするのは、あまり良い方法ではありません。2 つのオプションがあります。

  1. Facebook SDK を使用して、サーバー側と同じ情報を取得します
  2. AJAX を使用して正しいコンテンツをロードする

それで、私の質問: Facebook PHP SDK を使用して、上に挙げた 3 つの状態を判断することは可能ですか?

FB.getLoginStatus(function(response) {
        if (response.authResponse) {
            FB.api('/me', {accessToken: response.authResponse.accessToken}, function(user) {
               //connected to the app
            });
        } else {
            if (response.status == "not_authorized") {
               // logged in but not connected
            } else {
               // not connected to Facebook
            }
        }
    });

何時間も試した後、私は少し困惑しているので、これに関する助けは大歓迎です。

4

1 に答える 1

0

セッション変数を見てください。

ユーザーがログインしているがアプリを承認していない場合、アクセストークンはユーザーアクセストークンではなくアプリのアクセストークンになることを覚えているようです。

また、Facebook の PHP SDK の例を参照して、JS SDK を設定したことを確認して、JS SDK と一緒に使用する方法をcookie:true確認してください。

于 2013-01-14T13:55:13.223 に答える