我正在尝试使用我的Facebook帐户在flex移动应用程序中登录。
我的方案的步骤是:
按下facebook登录按钮
出现facebook登录弹出窗口
用户输入用户名和密码,点击登录按钮。
我的代码:
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
您能否告诉我这是什么原因?为什么这个问题只能在真实的移动设备上重现?
谢谢
丹
答案 0 :(得分:0)
看起来Adobe AIR版本存在问题。已更新至最新版本并正常运行。