嘿伙计我一直对欢迎页面和产品页面,Q& A页面等品牌页面都有类似的门。我使用的代码如下
<? require 'facebook.php';
$app_id = "[MY-APP-ID-HERE]";
$app_secret = "[MY-APP-SECRET-HERE]";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
$signed_request = $facebook->getSignedRequest();
$like_status = $signed_request["page"]["liked"];
if ($like_status) {
//You have liked the page
} else {
//You need to like the page
}
?>
现在使用新的时间线,这个相似的图层不再像以前那样工作。如果您不喜欢该页面,则会显示相似的部分,然后当您单击顶部时,它会重定向到if / else语句的like部分,但现在使用时间线则没有。
如果您可以通过新的时间线布局来帮助您实现这一目标,那么这些页面将非常有用。
答案 0 :(得分:3)
这是我昨天把它扔在一起的解决方案。它由Like Button插件和Javascript SDK组成。
首先,您需要创建一个Like Button插件(http://developers.facebook.com/docs/reference/plugins/like/),您将其添加到选项卡中。您将不再希望用户单击您的Page的Like按钮...只有Like按钮插件(巨大差异)
其次,使用Javascript SDK,您需要“监听”Like Button插件上的点击。这是通过SDK API FB.Event.subscribe调用侦听'edge.create'来实现的。
Facebook JS API reference event subscribe
示例代码:
FB.Event.subscribe('edge.create',
function(response) {
document.location = 'fanrevealed.php';
});
};
以上示例将用户重定向到“显示”标签。
如果您需要帮助,请随时在Twitter上打我。
@jeremyhilton
答案 1 :(得分:2)
您可以订阅指定的Facebook Bug :) Facebook Bug 228778937218386
作为一个选项/解决方法,你可以使用带有Fan Gating Plus +的徒步选项卡生成器来包含使用FB.Event.subscribe('edge.create')的Like按钮,以便在点击之后淡出非粉丝内容: Facebook Hike Social App Page
更新:错误由Facebook修复!
答案 2 :(得分:0)
“旧”Like按钮导致页面刷新,这意味着服务器端检查将完成它的工作。新的Like按钮不会导致刷新,我没有看到任何提及JS回调,而不是我知道它将如何运行,因为它在另一个JS沙箱中运行。
答案 3 :(得分:0)
同样的门仍然有用。唯一的问题是页面没有刷新以获取您的粉丝唯一的内容。如果你点击它然后手动刷新它仍然可以工作。