Поймать событие, если пользователю уже понравилась какая-либо страница Facebook
Я использую следующий код, чтобы поймать событие, если пользователю уже понравилась ваша страница, но она не работает. Он всегда идет к тому, что пользователю не понравилась ваша страница.
window.fbAsyncInit = function () {FB.init ({appId: 'app_id', // Идентификатор приложения channelURL: 'path', // Статус URL файла канала: true, // проверка состояния cookie cookie: true, // enable куки, чтобы позволить серверу получить доступ к сеансу oauth: true, // включить OAuth 2.0 xfbml: true // синтаксический анализ XFBML });
FB.getLoginStatus(function(response) {
console.log(response);
if (response.authResponse) {
// logged in and connected user, someone you know
var user_id = response.authResponse.userID;
var page_id = "1457622007810260";
var fql_query = "SELECT uid FROM page_fan WHERE page_id = "+ page_id + " and uid= "+ user_id ;
var the_query = FB.Data.query(fql_query);
alert(fql_query);
alert(user_id);
the_query.wait(function(rows) {
alert(rows);
if (rows.length == 1 && rows[0].uid == user_id) {
//user likes the page
//do your stuff here
alert('likes');
} else {
// user doesn't like our page yet
alert('unlikes');
}
});
} else {
// no user session available, someone not known, not logged into fb'
alert('no');
}
});
};
// 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));
и где-то в HTML
1 ответ
Пользователь должен предоставить разрешение user_like. Это требует, чтобы ваша заявка была отправлена и рассмотрена на Facebook.com
https://developers.facebook.com/docs/facebook-login/permissions/v2.0
Если вы хотите получить всех поклонников страницы, вам понадобится разрешение page_management, которое я считаю.
Facebook показывает, как сделать это программно на:
https://developers.facebook.com/docs/facebook-login/login-flow-for-web/v2.0