Подтвердить что ты не робот

Facebook iframe tab подписали запрос всегда пустым

Я работаю над вкладкой приложения Facebook и хотел бы использовать подписанный пакет запросов, как описано здесь: http://developers.facebook.com/blog/post/462/

Я пытаюсь использовать их примерный код, чтобы распаковать подписанный запрос, который предположительно передан на вкладку, однако $_POST, $_GET и $_REQUEST всегда пусты.

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

Есть ли что-то, что мне не хватает в их недавнем объявлении?

Кстати, приложение не опубликовано на рынке, а фан-страница, на которой установлена ​​моя вкладка, является частной. Будет ли это иметь значение?

-Seth

4b9b3361

Ответ 1

Хорошо, понял! При настройке приложения я заполнил "URL-адрес вкладки" как "вкладка/", Это сделало полный URL-адрес на вкладке " http://www.example.com/myfacebookapp/tab/" Это имело смысл для меня.

По-видимому, Facebook это не нравится. После изменения моего "URL-адреса вкладки" на "tab/index.php" подписанный запрос начал отображаться на вкладке приложения!

Ответ 2

По сути, проблема в том, что ваш веб-сервер выполняет перенаправление при получении запроса. В вашем случае он перенаправляется из http://www.example.com/myfacebookapp/tab/ в http://www.example.com/myfacebookapp/tab/index.php; в моем случае он перенаправлялся из http://www.example.com/myfacebookapp/tab в http://www.example.com/myfacebookapp/tab/ (мое приложение встроено в .Net MVC, поэтому не имеет имен файлов, но, по-видимому, нуждается в завершении косой черты).

Итак, каноническое решение состоит в том, чтобы убедиться, что путь в поле URL-адреса табуляции является фактическим URL-адресом, а не тем, к которому перенаправляется веб-сервер. Если веб-сервер должен сделать переадресацию, то реальная страница будет получена GET (не POST), а no signed_request postdata будет предоставлена ​​вашему script.

Очень расстраивает; Я просто потратил полтора часа на отладку, почему мое тестовое приложение работало, а производство - нет. Чтобы ухудшить ситуацию, я знал этот ответ, он просто не зарегистрировал, что это была проблема. Очень раздражает!

Ответ 3

Спасибо Сет. У меня была такая же проблема. Я мог бы получить подписанный запрос на странице холста приложения, но не на вкладке моей страницы. Для уточнения

  • перейдите на сайт www.facebook.com/developers/
  • нажмите на параметры редактирования для своего приложения.
  • перейдите на вкладку Интеграция с Facebook.
  • внизу в разделе "Вкладки страницы" в поле "URL-адрес вкладки" введите путь к странице index.php для целевой страницы вашего facebook

ех. если ваша страница находится по адресу www.foobar.com/facebook/tab/index.php, вам нужно поставить "tab/index.php" (без кавычек), а не просто "tab/"

пытался понять это в течение нескольких дней!

Ответ 4

Я нашел решение: Просто поставьте "/" в конце URL-адреса вкладки. Например: "http://domain.us/facebook/tab/"

Это сработало для меня, сообщите нам, работает ли оно и для вас!