使用Javascript根据用户是否喜欢您的脸谱页

时间:2016-03-26 05:36:17

标签: javascript facebook

我尝试创建一个网页,根据用户是否喜欢我的脸谱页面,使用javascript显示不同的内容。这是我的代码:

<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<style type="text/css">
div#container_notlike, div#container_like {
display: none;
}
</style>
</head>
<body>


<div id="fb-root"></div>

<div id="container_notlike">
YOU DON'T LIKE ME :(
</div>
<div id="container_like">
YOU LIKE ME :)
</div>

<script>
window.fbAsyncInit = function() {
FB.init({
appId : '1580931722230159', // App ID
channelUrl : 'http://connect.facebook.net/en_US/all.js', 
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.getLoginStatus(function(response) {
var page_id = "410090789179594";
if (response && response.authResponse) {
var user_id = response.authResponse.userID;
var fql_query = "SELECT uid FROM page_fan WHERE page_id = "+page_id+"and uid="+user_id;
FB.Data.query(fql_query).wait(function(rows) {
if (rows.length == 1 && rows[0].uid == user_id) {
console.log("LIKE");
$('#container_like').show();
} else {
console.log("NO LIKEY");
$('#container_notlike').show();
}
});
} else {
FB.login(function(response) {
if (response && response.authResponse) {
var user_id = response.authResponse.userID;
var fql_query = "SELECT uid FROM page_fan WHERE page_id = "+page_id+"and uid="+user_id;
FB.Data.query(fql_query).wait(function(rows) {
if (rows.length == 1 && rows[0].uid == user_id) {
console.log("LIKE");
$('#container_like').show();
} else {
console.log("NO LIKEY");
$('#container_notlike').show();
}
});
} else {
console.log("NO LIKEY");
$('#container_notlike').show();
}
}, {scope: 'user_likes'});
}
});
};
// 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));
</script>

</body>
</html>

我正在试图找出上面代码中的问题,因为根据用户是否喜欢我的facebook页面,它没有显示div#container_notlike或div#container_like。任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

FQL已弃用,不再适用于较新的应用。那段代码非常古老。您可以检查用户是否喜欢使用Graph API的/me/likes端点的某个页面。请注意,您不得以任何方式登录内容或激励喜欢。您很可能不会仅仅为了显示不同的内容而获得user_likes批准。

顺便说一句,您还可以查看特定页面:/me/likes/[page-id] - 如果您获得了页面数据,则表示您喜欢该页面。