Fan-Gate、Like-Gate、show-to-connections是什么?如何使用javascript和like box实现?

4
我在我的网站上有一个 Facebook LikeBox(不是 iframe 应用程序),我需要创建带门槛的内容。我了解使用 edge.create 和 edge.remove 的 FB.Event.subscribe,但我真正需要知道的是用户是否已经喜欢该页面,而不仅仅是他们成为粉丝或停止成为粉丝。从 xfbml.render 中是否可以看到任何回调信息?
由于公司的限制,我只能使用前端语言,这意味着 JavaScript 真的是我现在唯一的选择。我很乐意使用“signed_request”选项,但我最好能够通过服务器端语言来访问它。
是否有办法仅使用 JavaScript 确定某人是否已经“喜欢”一个页面?
2个回答

6

是的,您可以完全使用FB Javascript SDK在JavaScript中完成此操作。

function RunLikeCheck() {
var likeId = 'yourLikeIdHere';
    FB.api({
        method: 'fql.query',
        query: 'SELECT uid FROM page_fan WHERE page_id = ' + likeId + ' AND uid = me()'
    },
                function (response) {

                    if (response.length == 1) {
                        $("#HasLiked").val('true');
                        $('#frmAllow').submit();
                    }
                    else {
                        $("#HasLiked").val('false');
                        $('#frmAllow').submit();
                    }
                }
            );
}

现在假设您已经让用户登录并拥有正确的权限。


1
这是我找到的唯一一个答案,其中有人没有通过你的应用程序登录。谢谢! 我在页面标签上使用了它,效果很好。请注意,在将其用于标签时,请使用页面 ID 而不是应用程序 ID。 - Nate914375

0

这里是一些额外的示例JavaScript代码,用于实现一个不需要FB.api调用(但需要用户每次访问页面时重新点赞)的Like Gate。

http://linksy.me/viral-gate


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接