Flex - HTTPService - ошибка безопасности при доступе к API YouTube

У меня определен следующий HTTPService:

<mx:HTTPService id="youTubeHttpService" result="resultHandler(event)" fault="faultHandler(event)"/>

И я использую следующий URL-адрес (шаблон), чтобы получить список видео YouTube для конкретного пользователя:

http://gdata.youtube.com/feeds/api/users/Y/uploads

где Y - зарегистрированный пользователь YouTube.

Например: http://gdata.youtube.com/feeds/api/users/YouTube/uploads

Я отправляю HTTP-запрос, используя следующий синтаксис:

youTubeHttpService.url = "http://gdata.youtube.com/feeds/api/users/YouTube/uploads";
youTubeHttpService.resultFormat = "object";
youTubeHttpService.send();

Теперь приведенный выше код отлично работает для некоторых людей, использующих наше программное обеспечение, в то время как у других возникает следующая ошибка (в faultHandler ()):

Error: [RPC Fault faultString="Security error accessing url" faultCode="Channel.Security.Error" faultDetail="Destination: DefaultHTTP"] 

Опять же, ошибка случается с некоторыми людьми, а с другими - нет.

Я что-то упустил? Это будет проблема, связанная с конкретным компьютером / браузером? В качестве проверки работоспособности приведенный выше код работает с одним и тем же файлом .swf в Chrome, то есть с firefox и safari.

Я читал о crossdomain.xml и не думаю, что это проблема, поскольку YouTube определил это.

Наконец, все пользователи (приложение интрасети) используют IE и одну и ту же версию flash.

Любая помощь будет принята с благодарностью, поскольку последние 2 дня я выдергивал волосы и снова и снова задавал вопрос: «Почему это происходит только с некоторыми пользователями, а не с другими?»

Норма.


person enormace    schedule 28.07.2011    source источник


Ответы (2)


Может быть, у них слишком высокие настройки безопасности? Посетите эту страницу, чтобы изменить их http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html

person dubvfan87    schedule 28.07.2011

У вас есть междоменное ограничение политики http://gdata.youtube.com/crossdomain.xml

Похоже, youTube позволяет почти все.
Это наводит меня на мысль, что файл не загружается.
Попробуйте это или его форму.

Security.allowDomain( 'gdata.youtube.com' );
Security.loadPolicyFile( 'gdata.youtube.com' );

Также используйте плагин HTTPFox для FireFox, чтобы узнать, загружается ли он

Если станет хуже, попробуйте это

person The_asMan    schedule 01.08.2011