мое первое приложение на вкладке страницы, статус «нравится» становится пустым после того, как пользователю понравилась страница - PullRequest
0 голосов
/ 22 февраля 2012

Я только что узнал, как создать свое первое приложение на вкладке приветствия.Используя здесь указания, http://www.hyperarts.com/blog/customizing-facebook-iframe-application-signed_request_reveal_tab/ Я установил оператор if, чтобы проверить статус «Мне нравится» подписанного запроса, чтобы определить, какую страницу показывать.Первые несколько раз она работала идеально, но после того, как я перешел к настройкам тестовых страниц и установил вкладку 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

Спасибо

edit: я только что проверил страницу, и она работала один раз, но потом больше не работала.Я бы подумал, что это проблема с сетью, если он не вернул все остальные значения правильно.Так что я думаю, что это ошибка в Facebook, как когда я добавляю кнопку «Мне нравится» на веб-страницу, а счетчик всегда искажен.

Я не хочу добавлять правки, но вот еще немного информации.

Я использовал другого пользователя, не являющегося администратором fb, для тестирования, и это сработало несколько раз, а затем внезапно, то же самое.Кнопка «Мне не нравится», потому что мне уже понравилась страница, но на этот раз весь getSignedRequest возвращается пустым.Итак, что-то происходит с getSignedRequest, работающим только неполный рабочий день.У кого-нибудь есть какая-либо информация о проблеме, когда getSignedRequest работает только иногда?

Спасибо

Ответы [ 2 ]

0 голосов
/ 31 декабря 2013
$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');
}
0 голосов
/ 23 февраля 2012

Видимо, проблема заключалась в том, что сервер FB ожидал обновления и проверял приложение во время входа в систему как администратор приложения.Даже при использовании раскрывающегося списка «использовать facebook как« я », а не« тестовая компания », он по-прежнему видит меня как« тестовую компанию », поэтому он показывает контент, не принадлежащий фанатам, но, поскольку я вошел как« я », он не имеетКнопка «Мне нравится», потому что «Мне» она уже понравилась.

Так что ответ в этом случае: не проверяйте, когда вы вошли в систему как администратор страницы, и при использовании поддельной учетной записи пользователя для тестирования,подождите несколько часов для обновления всех серверов fb.

...