2013-04-20 132 views
0

尽管URLLoader在Flash Builder Mobile Debugging中正常工作,但它并未在Android Mobile上调度Event.COMPLETE事件。代码片段如下:URLLoader不适用于Flex 4.6适用于Android的移动项目

private function loadAlbumData():void 
{ 
var request:URLRequest = new URLRequest("https://picasaweb.google.com/data/feed/api/user/default"); 
    var urlloader:URLLoader = new URLLoader(); 
    urlloader.addEventListener(Event.COMPLETE, onLoadComplete); 
    urlloader.load(request); 

} 

private function onLoadComplete(evt:Event):void 
{ 

    trace(evt.currentTarget.data); 
} 

这里我要求Google的Picasa服务提供一个Album XML。

+4

监听错误事件,看看他们告诉你什么:'SecurityErrorEvent.SECURITY_ERROR','HTTPStatusEvent.HTTP_STATUS','IOErrorEvent.IO_ERROR' – RIAstar 2013-04-20 11:26:58

+0

@RIAstar我是对的。它引发IOErrorEvent.IO_ERROR。跟踪显示 “[IOErrorEvent type =”ioError“bubbles = false cancelable = false eventPhase = 2 text =”错误#2032:流错误。 URL:https://picasaweb.google.com/data/feed/api/user/default“errorID = 2032”“ – Asad 2013-04-24 04:58:08

回答

0

从该XML页面的外观来看,它正在拉动与我相关的数据。最好的猜测是它依靠登录Google来确定用户是谁。如果用户没有Google cookie(通过退出Google进行测试),则返回“需要授权”,可能会返回HTTP状态错误而不是实际页面。由于应用程序的沙盒,饼干不能应用,甚至在系统之间没有明确要求他们成为(这将可能需要ANE)

在这种情况下共享,你有两个选择:

  1. 图了解如何让用户登录Google,保存cookie并将其发送到请求中。我从来没有在Flash中处理过cookies,因此我无法在这里为您提供帮助
  2. 使用https://picasaweb.google.com/data/feed/api/user/USERNAMEHERE其中USERNAMEHERE是您要从中拉取数据的帐户的用户名。

很明显,解决方案取决于这个特性的实现,所以我不会推荐使用哪一个。但这绝对是你的问题。

+0

1.我可以登录Google并能够获得授权令牌,但是使用我的令牌无法获取该用户的相册XML,这将需要获取该albumid以从该特定相册获取照片。所以当你看到“登录”并不是这里的问题。 2.'https:// picasaweb.google.com/data/feed/api/user/USERNAMEHERE'问题在于,使用此链接我只能抓取公开相册而不能抓取私人相册。 – Asad 2013-04-23 08:08:59

相关问题