1

我正在尝试在 flex 移动应用程序中使用我的 facebook 帐户登录。

我的方案的步骤是:

  1. 按下 Facebook 登录按钮

  2. facebook登录弹出窗口出现

  3. 用户输入用户名和密码,点击登录按钮。

    我的代码:

     public function performLogin():void
    {
        var facebookWebView:StageWebView = new StageWebView();
        facebookWebView.viewPort = new Rectangle (0,0, m_stage.width, m_stage.height);
    
        FacebookMobile.login(loginCallback ,m_stage, m_appPermissions, facebookWebView)
    }
    
    
        private function loginCallback(success:Object, fail:Object):void
    {
     if (success) // using the Flex Emulator a success object is returned and everyting works as it should
        {
            var session:FacebookSession = success as FacebookSession;
            //save access token
            PersistanceMechanism.instance.add(sAccessToken, session.accessToken);
    
            //forward to success view
            if (m_successView != null)
               m_viewNavigator.pushView(m_successView);
            return;
        }
    

Flex Emulator 一切正常,并且 loginCallback 包含正确的“成功”对象。

然而,当在我的 Galaxy SIII 上测试这个时,回调会得到一个失败的对象,而不是下面的消息:

       Error #2032: Stream Error. URL: https://graph.facebook.com/me?access%5Ftoken=AAAFA7Xkx1wwBAC7ZAQmrvHcZBwYv5ZBLcUvZClaGSrpNzVXRA1HsgQShIOQCOqy2tGAHVHKTbwH8taTrS8XBtVSN4JxW6ZAH8Az5ldJiMiwZDZD

你能告诉我这是什么原因吗?为什么这个问题只能在真正的移动设备上重现?

谢谢

4

1 回答 1

0

看起来 Adob​​e AIR 版本有问题。更新到最新版本并正常工作。

于 2013-03-10T21:16:16.733 回答