AS3.0 facebook api:getSession()为用户名返回null

时间:2010-11-02 02:07:35

标签: actionscript-3 facebook

我正在使用iframe方法启动Facebook应用。 我正在使用flex,到目前为止我能够连接到fb(登录和退出)。现在我正在尝试检索当前登录的用户名。在文档中我看到这个功能是我需要的。 Facebook.getSession()。 adobe网站上的教程使用桌面api,它适用于桌面(AIR应用程序),但不适用于Web应用程序。 (是的,我修复了Facebook.getSession()而不是FacebookDesktop.getSession();

另外,我能够看到uid而不是用户。用户返回null。我猜这是因为uid是一个字符串,用户是一个对象。但在桌面应用程序中,FacebookDesktop.getSession()。user.name完美地返回名称。但在网络上,却没有。

任何有关这方面的帮助都会受到赞赏,因为我已经对此持续了2天。

2 个答案:

答案 0 :(得分:1)

事实证明,当您使用FacebookDesktop登录时,它会自动对me对象进行API调用以获取有关用户的信息。出于某种原因,Facebook课程不适合你。在您的登录处理程序中,您已拨打电话。因此,您的登录处理程序将包含以下内容:

if (success)
{
    Facebook.api("/me", api_getMeHandler);
}

答案 1 :(得分:1)

获得/ ME对象后,您可以直接读取用户名:

protected function api_getMeHandler(result:Object,fail:Object):void{
            // load name and birthday
            var fbName:String=""; 
            if( result.name != null) {
                fbName = result.name; 
                bottomLabel.text = fbName + "Logged IN";
            }     
            else {                
                bottomLabel.text = "User Name NULL";
            }
        }

我正在使用1.5版本,其中包括JS的AS类包装器。