私は簡単な読書キャンバスアプリを作っています。ユーザーがコンテンツ/記事をロードする前にログインしているかどうか確認したいと思います。当然のことながら私はFB.Initメソッドを持っている、と私はその中にgetLoginStatusを持っている、そしてそれは、この(私は私の名前空間とIDを削除しました)のようになります。他のものをロードする前にユーザーがログインしているか確認してください
<script>
window.fbAsyncInit = function() {
FB.init(
{
appId : '[APP ID]', // App ID
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.getLoginStatus(function(response) {
if (!response.authResponse) {
var oauth_url = 'http://www.facebook.com/dialog/oauth/';
oauth_url += '?client_id=[APP ID]';
oauth_url += '&redirect_uri=' + encodeURIComponent('http://apps.facebook.com/[APP NAMESPACE]/');
oauth_url += '&scope=read_stream,publish_stream,offline_access'
window.top.location = oauth_url;
}
});
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
しかし、それは関係なく、私は何をすべきか、それがロードされていません私のHTMLコンテンツを最初に(私の記事、Divs、パラグラフ、テキスト...)、それを終えた後にリダイレクトします。
スクリプトは私のHTMLの頭です。また、本体のonLoad()メソッドを使用してロードしようとしましたが、どちらも動作しませんでした。リダイレクトする前にHTMLコンテンツの一部が読み込まれます。
HTMLコードの単一の文字や画像を読み込む前に、ユーザーがFacebookにログインしているかどうかを確認して、そうでない場合はリダイレクトすることができますか?
JS SDKでこれを実行できますか?私が見ているのは、PHPの例とスニペットです。私はPHPであまり効率的ではありません。 はいの場合、JSでこれを達成する方法の例を教えていただけますか? –
いいえ、js sdkはクライアント側でのみ使用できます。 sdkはhttpリクエストのファサードであるため、node.jsでサーバー側のJavaScript用に使用するものを見つけるか、自分自身で記述してください。私はPython(数回)とjavaで実装しました。あなたはサーバー側で何を使用していますか? –
私のキャンバスアプリは、サーバーサイド認証を知らず、JS SDKのFB.loginもそれを処理していると私に言われる前に、HTML + JS(全くPHPなし)です。静的HTMLリンク(データフェッチなし)でしか動作しないので、私はサーバー側の要求を必要としませんでした。だから、私はサーバー側で何も使用していないと思います... –