Нарушение безопасности песочницы с Youtube API - PullRequest
2 голосов
/ 12 марта 2012

Я получаю очень раздражающее сообщение об ошибке во время выполнения, которое приводит к сбою моего приложения Flash, когда оно запускается в браузере.Ошибка относится к «нарушению безопасности песочницы», когда я пытаюсь получить доступ к API Gdata на 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");

1 Ответ

0 голосов
/ 12 марта 2012

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

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

2) Пример содержимого (не рекомендуется)

    <?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");

Читать справочный документ для получения дополнительной информации.

...