2012-01-28 5 views
6

Facebookアプリを開発しています。私は彼が任意のボタンをクリックする必要なく、ユーザーを認証することができますサーバー側OAuthの流れがあります。私は他の情報と同じくらい彼のaccessTokenを検索して、サーバー側でそれらのものを使用して、ページを生成する前ににします。JavaScript APIを設定するアクセストークン

私のアプリケーションでは、技術的に共有できるJavascript APIを使用する必要があります。同じ Oauthトークン。

与えられたOauthトークンを使用してFB javascriptオブジェクトをインスタンス化できますか?

クライアント側でOauthプロセスを実行し、Oauthキーをクッキー経由でサーバー側と共有することは、逆の意味を持つことができますが、これは2つの多くの欠点があります。 _まず、この「ログイン」ボタンを持っているのは、私にはFacebookのアプリのユーザーエクスペリエンスが良くないことです。 _また、私のアプリケーションが2つの異なるページで構成されている場合、このOauthプロセスがどのように動作するのかわかりません。あるページから別のページに移動すると、JavaScriptが完全にリロードされます。このOauthプロセス(ポップアップなど)は、各ページの再読み込みで行われますか?

ありがとうございました!

答えて

9

私は一度、同様の問題があった、Facebookはユーザーがポップアップせずに許可を与えているかどうかを確認するために使用することができますFB.getLoginStatusと呼ばれる古い方法を持っている - ことができます

FB.init({appId: 'XXXXXXXXXXXXXX', xfbml: true, cookie: true, oauth: true}); 
FB.getLoginStatus(function(response) { 

    if (response.authResponse) { 
    token = response.authResponse.accessToken; 
    FB.api('/me', function(response) { 
     console.log(response); 
     // do something here they are logged in and have given you perms 
    }); 
    } else { 
    // no user session available, someone you dont know 
    } 
}); 

希望!

+0

これは素晴らしい機能でした。 FYI、グローバル変数としてトークンを設定する必要はないようです。あなたの助けにたくさんのThks! –

+0

素晴らしい!うれしい私は正しい方向にあなたを指すことができる。 :) –

+0

ありがとう、トン!同じ問題があって、これが数秒で解決しました!あなたは仕事の時間を節約しました。 –

関連する問題