使用JS检查登录用户是否喜欢Facebook API上的页面?

时间:2011-07-05 09:01:39

标签: javascript facebook facebook-fql facebook-like

我目前正在开发一个项目,需要像网页一样拥有粉丝才能看到网站上的多个内容。

该网页不是Facebook的应用程序,它在facebook外面。我们不会使用PHP或后端代码,我们只会使用FrontEnd

我已完成用户登录检查以检查用户是否已登录。

如果用户是我们页面的粉丝,我现在坚持检查。我尝试使用功能页面.IsFan,但不知何故它需要有一个UID。

由于同样的原因,FQL方法无法实现。

另一个问题是我们页面的appID。我尝试谷歌如何获取页面的appID,但搜索与无用的内容混在一起。

无论如何都要获取UID或检查用户是否喜欢没有UID的网页?

非常感谢

2 个答案:

答案 0 :(得分:0)

除非您提供UID,否则您将无法知道用户之前是否喜欢该页面。但是,您可以使用FB.Event.subscribe通过订阅edge.create事件来了解用户何时喜欢该项目:

FB.Event.subscribe('edge.create', function(response) {
    alert("liked the item");
});

示例:http://jsfiddle.net/niklasvh/rmrE4/

答案 1 :(得分:0)

您必须使用Facebook iFrame粉丝页面中的后端代码,因为您必须检查HTTP POST请求中发送到您网页的signed_request变量,因为此变量无法通过javascript获取,并且订阅了javascript中的edge.create不起作用,因为当用户点击like按钮时该页面会完全刷新,并且该事件不会触发。

如果您强制用户使用您的应用进行身份验证(如果您检查了signed_request变量,则不是必需的,您可以使用FQL查询或图形api请求,而不是指定其用户ID,只需使用“我”。喜欢:select field from table where uid = me()