0

JSSDKを使用してFacebookに接続しています。初期化(FB.init())後、[ログイン]ボタンが表示されます。クリックすると、ログインするように求められます。次に、FB.Event.subscribe()を使用してauth.loginイベントにハンドラーを追加しているにもかかわらず、ログインするとダイアログが消えます。

このコードの前に処理されるhtmlのタグを使用してFacebookall.jsファイルを含めることに注意してください。

これが私のコードです:

FB.init({

                            appId:myId,
                            channelUrl:myChannelUrl,
                            cookie:true,
                            status:true,
                            xfbml:true
                     });
            FB.Event.subscribe('auth.login',function(response) {
                            alert("your event finally fired!!!");
            });
            FB.Event.subscribe('auth.logout',function(){
                    alert("you logged out");
            });

今、私がログインまたはログアウトしても、何も起こりません。Facebookのダイアログは単に消えます。意図的に間違ったクレデンシャルを使用してログインを試みると、ダイアログはその試みを適切に拒否します。これは、Facebookと実際に通信していることを証明します。問題は、イベントが発生していないことのようです。

ここでのガイダンスに感謝します。

4

1 に答える 1

1

代わりに、このイベントにサブスクライブしてください。

FB.Event.subscribe('auth.statusChange', handleStatusChange);    

そしてあなたのJavaScriptでは、

function handleStatusChange(response) {
if(response.authResponse ==  'connected')
//do something
else
//do something else
}

参照: http://www.facebookmobileweb.com/hello/

于 2012-07-20T16:19:51.023 に答える