1

我为 facebook 写了一个简单的应用程序,似乎我无法登录。我在 facebook 上创建了一个测试应用程序,并通过访问 apps.facebook.com/ 来测试我的应用程序

我的主应用程序的 ApplicationComplete 事件之后正在执行以下功能。

    private function initFacebook():void {
        fbApiKey = "API_KEY";
        fbSecret = "SECRET";
        fbLoaderInfo = stage.loaderInfo;
        fbSession = new FacebookSessionUtil( fbApiKey, fbSecret, fbLoaderInfo);
        fbSession.addEventListener( FacebookEvent.WAITING_FOR_LOGIN, fbWaitingForLoginHandler, false, 0, true );
        fbSession.addEventListener( FacebookEvent.CONNECT, fbConnectHandler, false, 0, true );
        fbSession.login();              

    }

    private function fbWaitingForLoginHandler( e:FacebookEvent ):void
    {
        fbSession.validateLogin();
    }

    private function fbConnectHandler( e:FacebookEvent ):void
    {
        Alert.show(fbSession.facebook.is_connected ? ' connected' : 'not connected');
    }

我收到一条警报,提示我没有连接,我无法获取任何信息。我输入了正确的 api 密钥和秘密。

如果它无法做某事,我该如何调试并准确查看它失败的位置?

谢谢

4

1 回答 1

0

以下确实有效: private var fbook:Facebook; 私有变量会话:FacebookSessionUtil;私人 var fbUser:FacebookUser;

    private function initFacebook():void {
        session=new FacebookSessionUtil(API_KEY,SECRET,loaderInfo);
        session.addEventListener(FacebookEvent.CONNECT,onConnect);
        fbook=session.facebook;
        session.login();    

    }

    private function onConnect(e:FacebookEvent):void{
        var call:FacebookCall=fbook.post(new GetInfo([fbook.uid],[GetInfoFieldValues.ALL_VALUES]));
        call.addEventListener(FacebookEvent.COMPLETE,onGetInfo);
    }
    private function onGetInfo(e:FacebookEvent):void{
        this.fbUser=(e.data as GetInfoData).userCollection.getItemAt(0) as FacebookUser;
        <!-- fetching facebook user information from this.fbUser -->
    }

我创建了一个执行以下功能的按钮:(仅在我登录 facebook 后)

    private function onConfirmLogin():void{
        session.validateLogin();

    }
于 2010-01-30T10:46:34.490 回答