0

私はあなたがこの小さな問題から私を助けることができると思います。

私は、開発者プラットフォームとしてActionScript 3を選択することにより、Facebook開発者の初心者です。アドビがプロモートした公式facebook-actionscript-apiのSWCライブラリを使用しています。

それで私は彼らのチュートリアルに従いました。だから私は次の指示をしました:

  1. Flexプロジェクトを作成します。
  2. ダウンロードしてFlexプロジェクトに入れFacebook_library_v3.4_flex.swcます\lib
  3. 次のコードを提供します。

            import com.facebook.Facebook;
            import com.facebook.utils.FacebookSessionUtil;
    
            private var fbook:Facebook;
            private var session: FacebookSessionUtil;
    
            protected var api_key : String = "my-facebook-app-api-key";
            protected var secret_key : String = "my-facebook-app-secret-key";
    
            public function init() : void {
                //fbook = new Facebook();
                session=new FacebookSessionUtil(api_key,secret_key,this.loaderInfo);
                var fbook : Facebook = session.facebook;
                session.validateLogin();
            }
    

    デバッグセッションを実行しようとした後。このステートメントを実行した後、エラーが発生しました。

    session = new FacebookSessionUtil(api_key、secret_key、this.loaderInfo);

私は何か間違ったことをしたと思いますが、それを理解することができませんでした。アドバイスやガイドラインを教えていただけませんか。

これは私が得た例外です:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at com.facebook.utils::FacebookSessionUtil()[C:\Users\MikeHunt\Work\FacebookAPI\src\com\facebook\utils\FacebookSessionUtil.as:128]
at CheeseZaa/init()[/Users/teerasej/Documents/Flex Builder 3?/freelance/CheeseZaa/src/CheeseZaa.mxml:24]
at CheeseZaa/___CheeseZaa_Application1_creationComplete()[/Users/teerasej/Documents/Flex Builder 3?/freelance/CheeseZaa/src/CheeseZaa.mxml:4]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:9440]
at mx.core::UIComponent/set initialized()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:1168]
at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:718]
at Function/http://adobe.com/AS3/2006/builtin::apply()
at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8744]
at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8684]

例外の最初の行がこれを示していることに気づきました:

com.facebook.utils::FacebookSessionUtil()[C:\Users\MikeHunt\Work\FacebookAPI\src\com\facebook\utils\FacebookSessionUtil.as:128]

しかし、それが例外に関係しているのかどうかはわかりません。

私の開発プラットフォームは次のとおりです。

  • Macbook Pro
  • OSXユキヒョウ10.6
  • FlashPlayer10.0.32デバッガー
  • Mozilla Firefox 3.6
  • Flex Builder 3.2
  • Flex SDK 3.5
  • Facebook_library_v3.4_flex.swc

すべての提案とガイドラインはあなたに感謝するでしょう。これは、私のような同じ問題を見つけた可能性のある他の開発者にとっては良いことだと思います。

4

1 に答える 1

2

loaderInfoは準備ができておらず、現在nullです。

試す:-

public function init():void
{
    addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}

private function onAddedToStage(event:Event):void
{
    removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);

    session = new FacebookSessionUtil(api_key, secret_key, this.loaderInfo);
    var fbook:Facebook = session.facebook;

    session.validateLogin();
}
于 2010-02-11T15:42:42.910 に答える