2010-11-02 79 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的類包裝器。