2011-07-07 20 views
0

私はFacebookと私のアプリケーションを統合しようとしています.Adobeの公式チュートリアルに従いましたhttp://www.adobe.com/devnet/facebook/articles/flex_fbgraph_pt3.html エラーや警告は表示されません。しかし、私は私のアプリを実行すると、ログイン時にクリックするとログインウィンドウが全く表示されません。何も起こりません...どんな種類のエラーもありません..フレックス4を使用したFacebookのログイン

CAn誰でも私は何が間違っているか教えてください。いくつかの作業チュートリアルを指します

ありがとう!!

+0

Facebook APIのどのバージョンを使用していますか?最新のものをダウンロードすることができます:http://code.google.com/p/facebook-actionscript-api/ –

+0

最近のグラフapi、つまりGraphAPI_Web_1_6_1.swc.Iを使用しています。ログインして許可を与えることができます.Loginhandlerはトリガーされる。私は古いswf、つまりFacebookgraph APIを使ってアプリを試してみました... – newbie

+0

このAPIをダウンロードできる場所と同じ問題を探してみてください。似たようなものがあるかもしれませんが、報告してください。 –

答えて

1

これは、Graph APIを使用してFacebookに接続する方法です。すべてがコメントで説明されています。これは実際には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)); 
     } 
    } 
} 

。壁などに投稿したい場合は、以下の小さな例を見つけることができます。

 /****************************************** 
     * 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-ルートと呼ばれるのdivを必要とする、このように宣言。

<body> 
    <div id="fb-root"></div> 
    <div id="flashContent"> 
    </div> 
</body> 
関連する問題