アプリケーションでコードを使用して 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 つの追加手順があることに気付きました。これらの追加の手順がそれと関係があるかどうかはわかりませんが、私はただそこに捨てています:
- アプリに関する情報と「Facebook でログイン」というボタンが表示されたダイアログ ボックス。
- アプリがユーザーに投稿の許可を求める別のダイアログ ボックス。
それで、私は何を間違っていますか?:(