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

Check if logged in user liked a page on Facebook API using JS?

本文关键字:Facebook API JS 用户 登录 是否 喜欢 检查      更新时间:2023-09-26

我目前正在做一个项目,该项目需要有一个粉丝般的页面,他才能在网站上看到一些内容。

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

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

我现在一直在检查用户是否是我们页面的粉丝。我试着使用功能页。IsFan,但不知何故,它需要有一个UID。

由于同样的原因,FQL方法是不可能的。

另外一个问题是我们页面的appID。我试着用谷歌搜索如何获得页面的appID,但搜索中夹杂着无用的内容。

是否可以获取UID或检查用户是否喜欢我们没有UID的页面?

非常感谢

您将不得不使用Facebook iFrame粉丝页面的后端代码,因为您必须检查在HTTP POST请求中发送到您的页面的signed_request变量,因为该变量无法通过javascript使用,在javascript中订阅edge.create是不起作用的,因为当用户单击like按钮时,页面会进行完全刷新,而该事件不会触发。

如果你强制用户使用你的应用程序进行身份验证(如果你检查了signed_request变量,这是不必要的,你可以使用FQL查询或图形api请求,而不是指定他们的用户id,只需使用"me"。类似于:select field from table where uid = me()

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

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

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