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)

В этом случае у вас есть два варианта:

  1. Узнайте, как разрешить пользователю входить в Google, сохранять cookie и отправлять его в запросе. Я никогда не имел дело с cookie-файлами во Flash, поэтому я не смог бы вам здесь помочь
  2. использование https://picasaweb.google.com/data/feed/api/user/USERNAMEHERE где USERNAMEHERE - это имя пользователя учетной записи, из которой вы хотите получить данные.

Очевидно, что решение зависит от реализации этой функции, поэтому я не буду рекомендовать какую использовать. Но это определенно ваша проблема здесь.

Другие вопросы по тегам