Canvas应用程序未发送signed_request POST参数

时间:2011-09-19 21:11:50

标签: facebook-graph-api oauth facebook facebook-apps

我从Facebook的教程中了解到,有人点击了您的Facebook应用并被带到您的应用页面:http://apps.facebook.com/example_app

然后Facebook用您的画布URL打开iframe,并使用signed_request参数进行POST。该参数包含您需要的所有信息,如果用户已接受您的应用程序,请进行检查。如果没有,请重定向到OAuth 2流程。如果有,则signed_request将包含其user_id。

不幸的是,当我点击我的脸书应用程序时,我没有传递任何signed_request参数!这就是我在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 = US&安培; fb_sig_api_key = 44444444444444&安培; fb_sig_app_id = 555555555555&安培; fb_sig = 66666666666

是上面还是signed_request?我很困惑......我怎么能得到用户的access_token和他的user_id?

1 个答案:

答案 0 :(得分:3)

默认情况下,不会为所有(尤其是较旧的)应用启用此功能,您需要在应用的高级设置中启用此设置,在“迁移”下启用canvas应用的signed_request