Приложение Canvas не отправляется POST-параметр signed_request

Из учебника Facebook я понял, что кто-то нажимает на ваше приложение Facebook и попадает на страницу вашего приложения: http://apps.facebook.com/example_app

Затем Facebook открывает iframe с URL-адресом вашего холста и выполняет POST с параметром signed_request. В этом параметре есть вся необходимая информация, проверьте, принял ли пользователь вашу заявку. Если нет, перенаправьте в поток OAuth 2. Если да, то signed_request будет содержать их user_id.

К сожалению, я не передаю ни одного параметра signed_request, когда нажимаю на свое приложение facebook! Это то, что я передаю в теле запроса POST:

fb_sig_in_iframe = 1 & fb_sig_locale = en_US & fb_sig_in_new_facebook = 1 & fb_sig_time = +1316465522,5989 & fb_sig_added = 1 & fb_sig_profile_update_time = 1280164553 & fb_sig_expires = 1316469600 & fb_sig_user = 111111111 & fb_sig_session_key = & fb_sig_ss = 222222222222222 & fb_sig_cookie_sig = 333333333333 & fb_sig_ext_perms = адрес электронной почты и fb_sig_country = нам и fb_sig_api_key = 44444444444444 & fb_sig_app_id = 555555555555 & fb_sig = 66666666666

Это выше или signed_request? Я запутался ... как мне получить access_token пользователя и его user_id?


person rsvato    schedule 19.09.2011    source источник
comment
Это очень старое приложение? Возможно, вам потребуется специально включить это - в настоящее время в разделе Расширенные настройки для вашего приложения есть параметр миграции, который включит это   -  person Igy    schedule 20.09.2011
comment
Иги, ты прав! По какой-то причине он был отключен. Отправьте это как ответ ...   -  person at.    schedule 20.09.2011


Ответы (1)


Это не будет включено для всех (особенно старых) приложений по умолчанию, вам нужно включить параметр в расширенных настройках приложения в разделе «Миграции», чтобы включить signed_request для приложений холста.

person Igy    schedule 19.09.2011
comment
У меня тоже возникла эта проблема, как называется опция в разделе «Миграции»? - person ianbarker; 27.10.2011
comment
Он называется «signed_request for Canvas», но будет включен по умолчанию (и скрыт от этого интерфейса) для недавно созданных приложений. - person Igy; 27.10.2011
comment
спасибо скрыто. Проблема заключалась в том, что он перенаправлял URL-адрес для принудительного использования www (который я ненавижу), и это уничтожало переменную POST 'signed_request' - person ianbarker; 27.10.2011
comment
@Igy, я не могу найти это в настройках нового приложения FB, и я не получаю GET или Post в моем приложении Canvas ... - person Muhammad Umar; 11.05.2014
comment
Этот ответ был с 2011 года - все приложения холста сейчас отправляют запрос POST, а не GET - если вы не можете его увидеть, проверьте, что URL-адрес холста, который вы используете в настройках приложения, не перенаправляет - если это делает вы потеряю параметры POST - person Igy; 11.05.2014