2

アプリケーションでコードを使用して Facebook に接続していましたが、再度確認したところ、突然機能しなくなりました。具体的には、Facebook に接続できますが、auth.login サブスクリプションがトリガーされず、Facebook にログインした後にいくつかのことを行う必要があります。これは私のコードです:

    window.fbAsyncInit = function () {
    FB.init({ appId: facebookAppId,
        status: true, // check login status
        cookie: true, // enable cookies to allow server to access session 
        xfbml: true,  // enable XFBML and social plugin
        oauth: true   // enable OAuth 2.0
    });
    $('#sender').val('linked');

    FB.getLoginStatus(function (response) {
        if (response.authResponse) {
            FB.logout();
        }
    });

    FB.Event.subscribe('auth.login', function (response) {
        if (response.status == 'connected') {

            //Get data Facebook returned and save

            //Hide button

            //Display Success Message
        }
        else {
            //Display Failed Message
        }
    });
};

(function (d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) { return; }
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/en_US/all.js";
    fjs.parentNode.insertBefore(js, fjs);
} (document, 'script', 'facebook-jssdk'));

HTML ページに次のボタンがあります。

<fb:login-button scope="publish_stream,offline_access">{0}</fb:login-button>

いくつかの追加情報:

Facebook に接続するときに、追加の手順が追加されていることに気付きました。最後に確認したところ、資格情報を使用してログインする必要がありましたが、現在のログイン手順には 2 つの追加手順があることに気付きました。これらの追加の手順がそれと関係があるかどうかはわかりませんが、私はただそこに捨てています:

  1. アプリに関する情報と「Facebook でログイン」というボタンが表示されたダイアログ ボックス。
  2. アプリがユーザーに投稿の許可を求める別のダイアログ ボックス。

それで、私は何を間違っていますか?:(

4

2 に答える 2

0

2つのこと:

  • Facebookが「auth.login」に何らかの変更を加えたのではないかと思い始めています。それについて関連する Q を参照してください -

一部のユーザーで FB.Event.Subscribe が機能しない

facebook の自動ログイン - FB.Event.subscribe auth.login が機能しない

  • ずいぶん前に質問したので、php sdk を使用している場合は、SDK ファイルが常に変化しているため、更新する必要があるかもしれません。
于 2013-01-16T13:27:17.883 に答える