Canows的Facebook POST失踪会话

时间:2011-03-18 09:53:28

标签: facebook post migration

我有一个Flash应用程序正在使用Big Spaceship类(http://www.bigspaceship.com/blog/labs/bss-classes-flash-and-the-fb-graph/)来执行授权。在Facebook为Canvas推出POST之前,这工作正常。正如迁移文档中所建议的,我在应用程序设置中激活了Canvas的POST,并更改了将会话数据从使用$ _GET转换为$ _REQUEST的PHP,但是$ _REQUEST对象中不再有名为session的参数。 / p>

<?php
    $session = '';
if( isset( $_REQUEST["session"] ) )
{
    $session = urldecode( $_REQUEST["session"] );
    if( strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE') )
    {
        $session = htmlspecialchars( $session );
    }
}
?>

这应该是一个JSON字符串,其中包含来自Facebook的所有会话数据,Big Spaceship的OAuthBridge类需要这些数据。有谁知道为什么这个数据不再存在,或者旧的JSON属性名称是什么,所以我可以自己重建它?

1 个答案:

答案 0 :(得分:1)

您想要的信息不在名为“session”的参数中,而是在“signed_request”参数中。你需要解码它,它包含一个json数组,会话密钥在oauth_token中。

这里有一个例子(向下滚动): http://developers.facebook.com/docs/guides/canvas/

此处记录的签名请求: http://developers.facebook.com/docs/authentication/signed_request/