Javascript 检查用户是否喜欢
我有一个在Facebook之外运行的应用程序。我需要用户喜欢2个不同的Facebook页面,然后再通过 我已经有了一个功能,可以知道用户是否点击了(当然也喜欢)这些页面。问题是用户是否已经喜欢这些页面。所以如果用户不喜欢。当他点击两个按钮时,我就会知道 例如,我将在数据库中添加一个liked_both=1,从那时起,我将始终使客户机跳过该步骤。这不是一个好的做法,因为如果用户删除like,他将跳过它,因为我的验证是在数据库中进行的 这是我使用的代码:Javascript 检查用户是否喜欢,javascript,jquery,facebook,facebook-oauth,Javascript,Jquery,Facebook,Facebook Oauth,我有一个在Facebook之外运行的应用程序。我需要用户喜欢2个不同的Facebook页面,然后再通过 我已经有了一个功能,可以知道用户是否点击了(当然也喜欢)这些页面。问题是用户是否已经喜欢这些页面。所以如果用户不喜欢。当他点击两个按钮时,我就会知道 例如,我将在数据库中添加一个liked_both=1,从那时起,我将始终使客户机跳过该步骤。这不是一个好的做法,因为如果用户删除like,他将跳过它,因为我的验证是在数据库中进行的 这是我使用的代码: window.fbAsyncInit =
window.fbAsyncInit = function() {
FB.init({
appId: '1426818840916389',
status: true,
cookie: true,
xfbml: true,
oauth: true
});
FB.Event.subscribe('edge.create', function(response) {
//Some ajax function.
});
});
我可以通过此操作了解用户是否单击了。但是,如何知道他们是否已经在不请求权限的情况下单击了
此外,我没有时间要求提交审查报告(真的有必要吗?)
我也试过这个:
FB.login(function(response) {
if (response) {
console.log(response);
var user_id = '100000246250649';
var page_id = "40796308305"; //coca cola
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) {
alert(' LIKE');
//here you could also do some ajax and get the content for a "liker" instead of simply showing a hidden div in the page.
} else {
alert('DO NOT LIKE');//and here you could get the content for a non liker in ajax...
}
});
} else {
// user is not logged in
}
我得到的“回应”只有:
对象{authResponse:对象,状态:“已连接”}
即使我定义了UID和PAGE_ID,查询也不会运行,我也不会得到任何错误和响应
也许我没有选择,就我所搜索的而言,这几乎是不可能的,但也许一些聪明的人能够帮助我。您可以使用graph API查询用户喜欢的所有页面:
FB.api("/me/likes",function (response) {});
请注意,要执行此操作,您需要请求用户的权限
我已经读了两遍了。您似乎想检查用户是否已经喜欢某个页面。不是这样吗?是的,但(不使用用户权限)我需要启动活动,我没有时间要求对应用程序进行审查。因此,我知道如何询问用户喜欢使用扩展权限的问题是,如果我需要审查(据我所知,我需要审查),我不想使用扩展权限。例如,我可以使用FQL来执行此操作吗?我的问题更像是。。。你想要的是不可能的。或者它的not.FQL只是访问相同信息的不同接口。它返回的数据还取决于您被授予的权限。所以,如果您没有用户喜欢,您也无法在FQL中看到用户喜欢。唯一的例外是检测用户是否喜欢与您的应用程序关联的应用程序页面。谢谢,伙计;)这正是我的想法,但我想确定。因为我老板说这是可能的。干杯,再次感谢你;)