Приложение Facebook Canvas никогда не загружает <body>содержимого? - PullRequest
2 голосов
/ 16 февраля 2012

Я создал приложение Facebook, которое должно быть доступно в Интернете или в виде приложения Canvas в Facebook. Моя установка выглядит так:

SERVER             |     FACEBOOK APP     |    CURRENTLY WORKS
-----------------------------------------------------------------------------
localhost          |     quotewarsdev     |   both in app and directly
-----------------------------------------------------------------------------
quotewars2012.com  |     quote_wars       |   only by accessing directly

Я разработал и развернул другие приложения Facebook, используя те же настройки, без проблем. Как ни странно, 90% запросов на производственное приложение в Facebook не выполняются - приложение загружает большую часть содержимого <head>, а затем вылетает. Иногда загружается полная страница.

Приложение Django, работающее в стеке кедра на Heroku - я знаю, что на самом деле оно не готово к работе - но я не думаю, что это виновник, поскольку приложение прекрасно загружается за пределами Facebook.

Если я отслеживаю журналы сервера, я вижу, что сервер отправляет ресурсы CSS / JS через части <head>, загруженные Facebook.

  1. Возможно, Facebook пытается предварительно проанализировать запрос и затем обработать его как , описанный здесь ?
  2. Возможно, у Facebook есть недокументированное ограничение по времени загрузки на запросы от <head>?
  3. Может быть, у Facebook есть недокументированное ограничение на количество запросов в <head>?

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

Кто-нибудь может подтвердить что-либо из перечисленного или предложить какие-либо другие идеи?

Между тем, без указания ошибки в журналах сервера, без отчетов об ошибках в интерфейсе приложения Facebook и без намека на какие-либо проблемы в браузере, я случайно удаляю, переупорядочиваю и futzing с <head> тег для отладки этого.

1 Ответ

0 голосов
/ 17 февраля 2012

Если эти сумасшедшие произведения попадут в глаза даже одной бедной душе, попавшей в безнадежное заваление между бурным развитием героки и апатичной поддержкой фейсбука, тогда мое время на этой земле будет хорошо проведено.Я не собираюсь предлагать какие-либо теории относительно , почему это решает проблему, но вот что я теперь знаю.

Где-то в этом пути запроса ответ был произвольно усечен любымбайты или символы.

Facebook canvas app >> Zerigo DNS add-on >> Cedar Stack / Gunicorn >> Django

Я подтвердил это, заменив все содержимое моего приложения текстом из проекта gutenberg - и, конечно же, ответ будет время от времени усекаться с одним и тем же символом каждый раз.

Вырезание Zerigo и указание приложения холста Facebook непосредственно на адрес приложения на heroku (e.g http://quotewars.herokuapp.com/), похоже, решило проблему.

...