URLLoader не работает во Flex 4.6 Mobile Project для Android
URLLoader не отправляет событие Event.COMPLETE на Android Mobile, хотя оно правильно работает в отладке Flash Builder Mobile. Фрагмент кода приведен ниже:
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);
}
Здесь я запрашиваю XML-альбом из службы Google Picasa.
1 ответ
Судя по тому, как выглядит эта XML-страница, она извлекает данные, относящиеся ко мне. Лучше всего предположить, что для входа в систему Google необходимо определить, кто является пользователем. Если у пользователя нет файла cookie Google (проверено путем выхода из Google), он возвращает "Требуется авторизация", которая может быть возвращена как ошибка статуса HTTP, а не как фактическая страница. Поскольку приложения находятся в "песочнице", cookie-файлы не передаются между приложениями или даже системой без явного запроса (что, вероятно, потребует ANE)
В этом случае у вас есть два варианта:
- Узнайте, как разрешить пользователю входить в Google, сохранять cookie и отправлять его в запросе. Я никогда не имел дело с cookie-файлами во Flash, поэтому я не смог бы вам здесь помочь
- использование
https://picasaweb.google.com/data/feed/api/user/USERNAMEHERE
где USERNAMEHERE - это имя пользователя учетной записи, из которой вы хотите получить данные.
Очевидно, что решение зависит от реализации этой функции, поэтому я не буду рекомендовать какую использовать. Но это определенно ваша проблема здесь.