Я пытаюсь загрузить изображения профиля (изображения друзей) из Facebook с помощью AS3, но у меня возникла проблема с безопасностью.
В настоящее время я использую «официальный» Adobe Facebook API для Actionscript 3, который работает нормально. Однако при запуске приложения в браузере у меня возникают проблемы с загрузкой изображений профиля. Изображения хорошо загружаются при работе в Flash IDE.
Изображения загружаются из https://graph.facebook.com
, и в этом домене существует политика crossdomain.xml:
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" secure="false" />
<site-control permitted-cross-domain-policies="master-only" />
</cross-domain-policy>
В других источниках я обнаружил, что добавление ContextLoader к моему объекту Loader при загрузке изображения должно решить проблему, но, похоже, это тоже не так:
loader = new Loader();
// add some listeners here...
loader.load( new URLRequest( "imageurl" ), new LoaderContext(true) );
Я не совсем уверен, как действовать в данный момент. Я надеялся, что API Adobe Facebook поможет в этом, но я не могу найти ничего, что решило бы эту проблему.
Любая помощь с благодарностью.
UPDATE:
Я только что заметил, что при посещении одного из изображений в браузере меня фактически перенаправляют в CDN Facebook, где хранится фактическое изображение. Когда я жестко запрограммировал URL-адрес изображения с перенаправленным URL-адресом, я могу загрузить изображение в браузер. Похоже, что это не проблема безопасности, а проблема перенаправления.
Если это проблема перенаправления, тогда вопрос станет; Как Flash Player загрузить изображение с перенаправленного URL-адреса?
ОБНОВЛЕНИЕ 2:
Похоже, что класс URLRequest имеет свойство followRedirects
, которое доступно только в AIR.
ОБНОВЛЕНИЕ 3:
В настоящее время я использую PHP-скрипт для получения перенаправленного URL-адреса в качестве обходного пути, но это, конечно, далеко от идеала и потенциально может быть большой нагрузкой на мой сервер.