2012-03-12 2 views
2

Я получаю очень неприятное сообщение об ошибке времени выполнения, которое приводит к сбою моего флеш-приложения при его запуске в браузере. Ошибка связана с нарушением безопасности Sandbox, когда я пытаюсь получить доступ к Gdata api Youtube. Точное сообщение об ошибке выглядит следующим образом:Нарушение безопасности песочницы с помощью API Youtube

Error: Request for resource at https://gdata.youtube.com/feeds/api/videos? 
key=As##2PVR2#lPj#0bVaw_Tvjx1MI6qeAI1gORxErVYDzu2zZy4D18bf8T6pHxsPgIOhs3_44Te 
YTVlYLx49goUPbv00udousA&q=The-Muppets-official-trailer&alt=json&max-results=1 
by requestor from http://###.com/cws/f/VV.swf is denied due 
to lack of policy file permissions. 
*** Security Sandbox Violation *** 

Когда я запускаю SWF локально, все работает нормально.

Любые идеи?

Спасибо.

Редактировать: Я только что добавил эти строки, но все равно не повезло.

Security.loadPolicyFile("http://www.mydomain.com/crossdomain.xml"); 
Security.loadPolicyFile("https://gdata.youtube.com/crossdomain.xml"); 
Security.allowDomain("https://gdata.youtube.com"); 
Security.allowDomain("gdata.youtube.com"); 

ответ

0

Необходимо указать политический файл crossdomain.xml в соответствии с правилами безопасности Adobe Flash.

1) Поместите crossdomain.xml в корневом каталоге вашего сайта

2) Example content (не рекомендуется)

<?xml version="1.0"?> 
    <cross-domain-policy> 
     <allow-access-from domain="*" /> 
    </cross-domain-policy> 

3) Загрузите политики-файл в проект (AS3):

System.security.loadPolicyFile("http://www.DOMAIN.net/crossdomain.xml"); 

Для получения дополнительной информации прочитайте reference document.

+0

Спасибо за ответ. К сожалению, это не сработало :( Я добавил файл crossdomain.xml в корень моего сайта, загрузил этот файл политики вместе с файлом политики youtubes по адресу https://gdata.youtube.com/crossdomain.xml. Но я – Nick

+0

Перекрестный домен должен быть установлен в домене, к которому вы пытаетесь получить доступ, а не о домене, на котором размещен ваш swf. Даже если это была настоящая проблема, этот ответ не будет делать трюк, так как Ник не будет разрешен для изменения правил crossdomain для youtube. BTW: Существующий crossdomain выглядит полностью нормально, для доступа из любого домена .com: http://gdata.youtube.com/crossdomain.xml – Pumuckline

+0

По какой-то причине flash didn 't нравится https: // версии URL-адреса gdata. После того, как вы изменили их все на http: // все работало нормально. Спасибо за помощь. – Nick