2013-04-20 167 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

相關問題