您需要一个 Facebook 应用程序来实现这一点。设置完成后,创建页面,当页面加载时,用户需要授权您的应用程序,以便您可以访问他们的个人信息,以查看他们是否喜欢使用某些 FQL 的页面。下面的代码将检查 Facebook 用户是否喜欢该页面,但只有在用户允许访问您的应用程序时才会运行。
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId : 'yourAppId',
status: true,
cookie: true,
xfbml : true
});
FB.getLoginStatus(function(response) {
if (response.session) {
var user_id = response.session.uid;
var page_id = "xxxx"; //The Page that you want to Like
var the_query = FB.Data.query("SELECT uid FROM page_fan WHERE page_id = {0} and uid={1}", page_id, user_id);
the_query.wait(function(rows) {
if (rows.length == 1 && rows[0].uid == user_id) {
$("#divWhenLiked").show();
} else {
$("#divWhenNotLiked").show();
}
});
} else {
// user is not logged in
$("#divNoPermission").show();
}
});
</script>
在代码中,您会看到 3 个<div> 标签,这取决于用户是否允许您的应用程序,而不是喜欢该页面,以及是否喜欢该页面。在显示权限的<div> 标记中,为了使其工作,您需要一个链接到您的应用程序的超链接,例如:
http://www.facebook.com/dialog/oauth?client_id=yourAppId&redirect_uri=http://yourWebsite/yourRedirectPage
这将显示一个来自 Facebook 的弹出窗口,要求用户允许应用程序的权限。然后它将重定向到您在链接中指定的重定向页面。在您的 RedirectPage 中,您只需要在 <body> 标签中添加一段简单的重定向代码:
<script>
window.location.href = "http://www.facebook.com/pages/YourApp?sk=app_yourAppId";
</script>
您可以从 Facebook 应用程序页面获取超链接。希望这会有所帮助。