我正在使用iframe方法启动Facebook应用。 我正在使用flex,到目前为止我能够连接到fb(登录和退出)。现在我正在尝试检索当前登录的用户名。在文档中我看到这个功能是我需要的。 Facebook.getSession()。 adobe网站上的教程使用桌面api,它适用于桌面(AIR应用程序),但不适用于Web应用程序。 (是的,我修复了Facebook.getSession()而不是FacebookDesktop.getSession();
另外,我能够看到uid而不是用户。用户返回null。我猜这是因为uid是一个字符串,用户是一个对象。但在桌面应用程序中,FacebookDesktop.getSession()。user.name完美地返回名称。但在网络上,却没有。
任何有关这方面的帮助都会受到赞赏,因为我已经对此持续了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类包装器。