2

私のアプリケーションはJSFフレームワークで書かれています。JavaScript APIには、ユーザーがアプリケーションに接続しているかどうかを認識できるメソッドがあります

FB.init({appId: "#{settings.fbClientId}", status: true, cookie: true});
FB.getLoginStatus(function(response) {
   if (response.status === 'connected') {
      var uid = response.authResponse.userID;
      var accessToken = response.authResponse.accessToken;
   }
}

サーバー側からも同じことができる機能を探しています。現在、私はrestFBを使用してFacebookにリクエストを送信しています。この実装では、承認と関連機能がサポートされていないようです。PHPSDKとPythonSDKで可能であることは知っていますが、Javaではこのようなものは見つかりません。

注:JS APIで確認してから、サーバー側から必要なすべてのリクエストを行うことができますが、それは私が必要としているものではありません。サーバー側からすべてを実行できるソリューションを探しています。

4

1 に答える 1

0

サーバー側のみのテクノロジーでは、FacebookユーザーがFacebookの外部でアプリに再度アクセスしたことを認識できません(とにかく一定の時間が経過した後)。

理由は簡単です。Facebookにログインすると、ブラウザにfacebook.comドメイン用に設定されたCookieが作成されます。私のサーバー(したがって、私のドメインの下)のサーバー側の手法では、これらのCookieのコンテンツを取得できません。

ただし、JS SDKは、Facebookにログインしているかどうかを確認するためにクロスドメインリクエストを作成しドメインの下にいくつかのCookieを設定できます。これにより、サーバー側のテクノロジは、次のリクエストで現在のステータスにアクセスできます。

于 2012-08-20T12:25:02.370 に答える