2010-11-02 34 views
0

我开始使用iframe方法的facebook应用程序。 我使用flex,到目前为止我能够连接到FB(登录和退出)。现在我试图检索当前登录的用户名。在文档中我看到这个功能是我需要的。 Facebook.getSession()。 adobe网站中的教程使用桌面API,它适用于桌面(AIR应用程序),但不适用于Web应用程序。 (是的,我修正了Facebook.getSession()而不是FacebookDesktop.getSession();AS3.0 facebook api:getSession()为用户名返回null

此外,我能够看到uid但不是用户。用户是一个对象,但在桌面应用程序中,FacebookDesktop.getSession().user.name完全返回名称,但在网络上却不是。在我的头上敲了2天

回答

1

事实证明,当您使用FacebookDesktop登录时,它会自动对我进行API调用,以获取有关用户的信息。不要为你做这件事。在您的登录处理程序中,您已拨打电话。所以,你的登录处理器将包含类似:

if (success) 
{ 
    Facebook.api("/me", api_getMeHandler); 
} 
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版本的工作,其中包括AS JS的类包装器。

相关问题