我的第一个应用程序作为页面选项卡,用户喜欢该页面后,“喜欢”状态为空

时间:2012-02-22 02:57:18

标签: facebook button facebook-like

我刚学会了如何创建我的第一个应用程序作为欢迎选项卡。在此处使用说明,http://www.hyperarts.com/blog/customizing-facebook-iframe-application-signed_request_reveal_tab/我设置了一个if语句来检查signed_request'like'状态,以确定要显示的页面。它在前几次完美运行但在我进入测试页面设置并将welcome-test选项卡设置为默认登陆选项卡后,现在页面仍然默认为墙面选项卡但是当我点击welcom-test选项卡时显示非粉丝内容,即使因为我已经喜欢它,它应该是因为它应该是。我再次测试了类似状态,它是空的,好像我还没有喜欢它。

有人可以告诉我这是否是我的代码中的facebook错误或问题?

$page_id = $signed_request["page"]["id"];
$page_admin = $signed_request["page"]["admin"];
$like_status = $signed_request["page"]["liked"];
$country = $signed_request["user"]["country"];
$locale = $signed_request["user"]["locale"];


//debug
echo "<br>page id = $page_id";
echo "<br>page admin = $page_admin";
echo "<br>like status = $like_status";
echo "<br>country = $country";
echo "<br>locale = $locale";

//everything comes back good here but like is empty

if ($like_status) {
echo "You like us";
}
else {
echo "<br/>You don't like us yet";
}

if($page_id == "245842635426802" && $like_status)
{
    include('pages/245842635426802.php');
}
else
{
    include('pages/245842635426802_nolike.php');
}

页面在这里。 https://www.facebook.com/pages/Testcompany/245842635426802?sk=app_377848798909813

由于

编辑:我刚刚检查过该页面并且它工作了一次,但之后就再也无法工作了。如果它没有正确返回所有其他值,我认为这是一个网络问题。所以我认为这是一个facebook bug,就像我在网页上添加一个类似的按钮一样,而且计数总是很棘手。

我不想继续添加修改,但这里有更多信息。

我使用了另一个非管理员fb用户进行测试,它工作了几次然后突然间,同样的事情。没有像按钮,因为我已经喜欢该页面,但这次整个getSignedRequest返回空。所以,getSignedRequest只会兼职工作。任何人都有关于getSignedRequest问题的任何信息只在某些时候有效吗?

谢谢

2 个答案:

答案 0 :(得分:0)

显然问题是等待fb服务器更新,并在作为应用程序管理员登录时检查应用程序的组合。即使使用下拉菜单'使用facebook作为'我而不是'测试公司',它仍然认为我是测试公司所以它显示非粉丝内容,但因为我登录为'我'它没有'喜欢'按钮因为'我'已经喜欢它了。

因此,在这种情况下的答案是,不要在以管理员身份登录时进行测试,并且在使用虚假用户帐户进行测试时,请等待几个小时以便更新所有fb服务器。

答案 1 :(得分:-1)

$page_id = $signed_request["page"]["id"];
$page_admin = $signed_request["page"]["admin"];
$like_status = $signed_request["page"]["liked"];
$country = $signed_request["user"]["country"];
$locale = $signed_request["user"]["locale"];


//debug
echo "<br>page id = $page_id";
echo "<br>page admin = $page_admin";
echo "<br>like status = $like_status";
echo "<br>country = $country";
echo "<br>locale = $locale";

//everything comes back good here but like is empty

if ($like_status) {
echo "You like us";
}
else {
echo "<br/>You don't like us yet";
}

if($page_id == "245842635426802" && $like_status)
{
    include('pages/245842635426802.php');
}
else
{
    include('pages/245842635426802_nolike.php');
}