JavaScript を使用した非同期 Facebook ログインを許可しようとしています。私は誰もが使用するのと同じコードを使用しています:
window.fbAsyncInit = function() {
FB.init({
appId : 'XXX',
channelUrl : '//' + host + '/channel.html',
status : true,
cookie : true,
xfbml : true
});
FB.Event.subscribe('auth.login', function(response) {
// ajax call to find or create account
});
}
ただし、以前に Facebook にログインしていない場合にのみ、コールバックが発生します。
auth.authResponseChange イベントはログイン ボタンのコールバックとして機能しますが、ページが読み込まれるたびに発生します。ボタンが実際にクリックされなかった場合、これはあまり役に立ちません。
本当に必要なのは、ログイン ボタンがクリックされたときだけ起動するコールバックです。
編集:
サイトの [サインアウト] ボタンで Facebook からサインアウトするようにすれば、すべてが一貫していますが、それはただイライラするだけです!