FanGate,likeGate,showtoConnections,使用javascript和likebox?

FanGate,likeGate,showtoConnections,使用javascript和likebox?,javascript,facebook,facebook-like,xfbml,Javascript,Facebook,Facebook Like,Xfbml,我的网站上有一个类似facebook的邮箱(不是iframe应用程序),我需要在那里创建封闭式内容。我理解FB.Event.subscribe使用edge.create和edge.remove,但我真正需要的是知道用户是否已经喜欢该页面,而不仅仅是他们是粉丝还是不再是粉丝。是否有可能来自xfml.render的回调 我(被我的公司)限制使用前端语言,这意味着javascript实际上是我目前唯一的选择。我很乐意使用“signed_request”选项,但据我所知,这似乎只能通过服务器端语言访问

我的网站上有一个类似facebook的邮箱(不是iframe应用程序),我需要在那里创建封闭式内容。我理解FB.Event.subscribe使用edge.create和edge.remove,但我真正需要的是知道用户是否已经喜欢该页面,而不仅仅是他们是粉丝还是不再是粉丝。是否有可能来自xfml.render的回调

我(被我的公司)限制使用前端语言,这意味着javascript实际上是我目前唯一的选择。我很乐意使用“signed_request”选项,但据我所知,这似乎只能通过服务器端语言访问


我有没有办法确定是否有人已经“喜欢”只使用javascript的页面?

是的,您可以使用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();
                    }
                }
            );
}

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

下面是一些额外的示例javascript代码,用于实现不需要FB.api调用(但每次访问页面时都需要用户重新喜欢)的like gate


这是我找到的唯一一个没有人通过你的应用程序登录的答案。谢谢在页面选项卡上使用此选项,效果非常好。请注意,将其用于选项卡时,请使用页面id,而不是应用程序id。