我创建了一个主要使用jQuery构建的Facebook应用程序。我现在需要检查用户是否喜欢某个特定页面。但是,这需要添加到jQuery click()函数中(因此,如果用户单击该按钮,它将给出一个对话框,说明他们无法继续而不喜欢页面)并有效地阻止脚本运行。
我的整个应用程序都使用jQuery,它不是不同的页面,所以我真的需要jQuery和Facebook JSDK之间的交互,但我不确定集成是如何工作的。有没有人有资源让我看看?或者也许是一个脚本:)
答案 0 :(得分:4)
使用它:
$(document).ready(function() {
window.fbAsyncInit = function() {
FB.init({
appId : 'YOUR_APP_ID', // App ID
channelURL : '//www.YOUR_DOMAIN.com/channel', // Channel File URL
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
oauth : true, // enable OAuth 2.0
xfbml : true // parse XFBML
});
FB.getLoginStatus(function(response) {
if (response.authResponse) {
// logged in and connected user, someone you know
var user_id = response.authResponse.userID;
var page_id = "YOUR_PAGE_ID";
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);
the_query.wait(function(rows) {
if (rows.length == 1 && rows[0].uid == user_id) {
//user likes the page
//do your stuff here
} else {
// user doesn't like our page yet
}
});
} else {
// no user session available, someone not known, not logged into fb
}
});
};
// 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 / jsp / php中,添加以下行:
<div id="fb-root"></div>
频道文件不是强制性的,但是可取的。查看fb docs了解更多信息。
答案 1 :(得分:0)
对于这个假设,我不建议你使用javascript作为它的客户端代码,并且可以被所有人更改。通过您的服务器端代码执行此操作