2011-07-07 77 views
0

我正在嘗試將我的應用程序與facebook.I整合在adobe官方教程之後http://www.adobe.com/devnet/facebook/articles/flex_fbgraph_pt3.html 我沒有收到任何錯誤或警告。但是當我運行我的應用程序時,在登錄時點擊登錄窗口不會彈出...沒有任何反應...沒有任何錯誤..Facebook使用flex4登錄

CAn任何人告訴我什麼是goinf wrong.Kindly指向一些工作教程

謝謝!!

+0

您使用的是哪個版本的Facebook API?在這裏你可以下載最新的一個:http://code.google.com/p/facebook-actionscript-api/ –

+0

我使用最近的圖形api即GraphAPI_Web_1_6_1.swc.I可以登錄並授予權限.Loginhandler不是被觸發。我嘗試了與舊的瑞士法郎應用程序,即Facebookgraph api,它工作得很好... – newbie

+0

strage,嘗試查找相同的問題,你可以下載這個API,可能有類似的東西,如果你認爲這是一個BUG,然後報告。 –

回答

1

這是一種使用Graph API連接到Facebook的方式。一切都在評論中解釋。這實際上是連接到Facebook,不會張貼到牆壁或任何東西。該部分可以在本課下面找到。

package com.DAL 
{ 
    import com.facebook.graph.Facebook; 
    import flash.events.Event; 
    import com.facebook.graph.data.FacebookSession; 
    import flash.events.EventDispatcher; 
    import flash.events.MouseEvent; 
    import com.fbLoginButton; 
    import com.adobe.serialization.json.JSON; 

    public class FBConnect extends EventDispatcher 
    { 
     /****************************************** 
     * Variables 
     ******************************************/ 
     private var _applicationID:String; 
     private var _extendedPermissions:Object; 

     /****************************************** 
     * Constants 
     ******************************************/ 
     public static const CONNECTED:String = "CONNECTED"; 

     /****************************************** 
     * Properties 
     ******************************************/    
     public function get ApplicationID():String 
     { 
      return _applicationID; 
     } 

     /****************************************** 
     * Constructor 
     ******************************************/ 
     public function FBConnect() 
     { 
      super(); 

      //Set applicationid 
      _applicationID = "YOUR_ID"; 

      //Set permissions to ask for 
      _extendedPermissions = {perms:"read_stream, publish_stream, user_about_me, read_friendlists, user_photos"}; 

      //Initialize facebook 
      Facebook.init(_applicationID); 
     } 

     /****************************************** 
     * Methods 
     ******************************************/  
     public function login(e:MouseEvent):void 
     {   
      Facebook.login(handleLogin, _extendedPermissions); 
     } 

     private function handleLogin(response:Object, fail:Object):void 
     { 
      dispatchEvent(new Event(CONNECTED)); 
     } 
    } 
} 

這應該照顧連接到Facebook。如果你想發佈到牆壁或任何東西,你可以在下面找到一個小例子。

 /****************************************** 
     * Constructor 
     ******************************************/ 
     public function FBLogic() 
     { 
      super(); 

      _connect = new FBConnect(); 
      _connect.addEventListener(FBConnect.CONNECTED, startLoaders); 

      initLoaders(); 
     } 

     /****************************************** 
     * Methods 
     ******************************************/ 

     ... 

     public function post(message:String):void 
     { 
      var _params:Object = new Object(); 

      _params.access_token = Facebook.getSession().accessToken; 
      _params.message = message; 

      Facebook.api("/" + _userID + "/feed", messagePosted, _params, "POST"); 
     } 

     public function messagePosted(response:Object, fail:Object):void 
     { 
      dispatchEvent(new Event(MESSAGEPOSTED)); 
     } 

     public function login(e:MouseEvent):void 
     { 
      var _loginButton:fbLoginButton = e.target as fbLoginButton; 
      _loginButton.alpha = 0; 
      _loginButton.visible = false; 

      _connect.login(e); 
     } 

如果這沒有辦法,你可能已經忘記添加一些代碼到你的html文件。請務必將下面的代碼添加到您的HTML文件的頭部:

<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script> 

而且你還需要一個名爲FB-根格,聲明如下。

<body> 
    <div id="fb-root"></div> 
    <div id="flashContent"> 
    </div> 
</body>