Facebook вызывает код Google App Engine, используя GET вместо POST - PullRequest
2 голосов
/ 11 февраля 2010

Я занимаюсь разработкой приложения для Facebook с использованием Google App Engine на Python и привязок pyfacebook . В течение нескольких недель все работало нормально, но вдруг это прекратилось.

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

Я выяснил, что проблема в том, что вместо вызова метода post (self) моего основного класса, Facebook вызывает с помощью GET.

Кто-нибудь знает, почему Facebook будет использовать метод GET вместо POST? Это приложение IFrame.

Спасибо

Ответы [ 2 ]

1 голос
/ 26 апреля 2011

Типичный поток для пользователя при использовании приложения начинается с того, что пользователь приземляется на некоторый URL-адрес Canvas, например http://apps.facebook.com/runwithfriends/.. В этот момент Facebook загрузит свой хром и отобразит тег для вашего приложения.Вы заметите, что src не указан.Используя некоторый JavaScript и тег, Facebook запускает POST-запрос к вашему приложению.Это сделано из соображений безопасности, поскольку конфиденциальные данные пользователя не будут отправляться через заголовок HTTP Referrer, пока они отправляются как данные POST.

0 голосов
/ 14 марта 2010

Хотя я не совсем уверен, что это было причиной, похоже, я изменил с приложения FBML на приложение IFrame. Режим FBML основан на вызовах POST, но IFrame использует GET. Я предполагаю этот ответ из того, что я здесь читаю , а также из наблюдений, которые я вижу, и это единственный ответ, который имеет какой-либо смысл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...