Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   Фотки друзей в api-sandbox.odnoklassniki.ru (http://www.flasher.ru/forum/showthread.php?t=205683)

botbot 16.12.2013 20:55

Фотки друзей в api-sandbox.odnoklassniki.ru
 
Всем привет. Портирую флешку на ОК, возникла проблема с показом фоток друзей в их песочнице.
При первом же обращении к api, когда выполняется:
Код AS3:

Odnoklassniki.callRestApi("friends.getAppUsers", callback );

вываливается предупреждение:
Цитата:

Предупреждение: Для домена api-sandbox.odnoklassniki.ru не указана метаполитика. Применяется метаполитика по умолчанию "master only" ("только мастер"). Эта конфигурация исключается. Чтобы исправить эту проблему, перейдите на веб-страницу http://www.adobe.com/go/strict_policy_files_ru.
Далее, когда пытаешься загрузить уже фотку, закономерно вылетает
Цитата:

*** Нарушение безопасности изолированной среды ***
Подключение к http://195.218.169.227:8088/img/photo2.gif прервано – нет разрешения от http://мой_сервак.swf
Ошибка: Запрос ресурса на http://195.218.169.227:8088/img/photo2.gif источника запроса из http://мой_сервак.swf отклонен из-за отсутствия разрешений в файле политики.
Как это лечить? Вот это не помогает:
Код AS3:

Security.allowDomain('195.218.169.227:8088', 'odnoklassniki.ru', 'api-sandbox.odnoklassniki.ru');


caseyryan 16.12.2013 22:00

Вы пытаетесь делать приложение для одноклассников не зная о такой штуке как crossdomain.xml? Это же основа основ во флеше.
Положите в корневую директорию своего сервака файл crossdomain.xml c таким содержимым
Цитата:

<?xml version="1.0" encoding="utf-8" ?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-http-request-headers-from domain="vk.com" headers="*"/>
<allow-http-request-headers-from domain="*.vk.com" headers="*"/>
<allow-http-request-headers-from domain="vkontakte.ru" headers="*"/>
<allow-http-request-headers-from domain="*.vkontakte.ru" headers="*"/>
<allow-http-request-headers-from domain="*.userapi.com" headers="*"/>
<allow-http-request-headers-from domain="userapi.com" headers="*"/>
<allow-http-request-headers-from domain="vk.me" headers="*"/>
<allow-http-request-headers-from domain="*.vk.me" headers="*"/>
<allow-http-request-headers-from domain="odnoklassniki.ru" headers="*"/>
<allow-http-request-headers-from domain="*.odnoklassniki.ru" headers="*"/>
<allow-access-from domain="vk.com" to-ports="80"/>
<allow-access-from domain="*.vk.com" to-ports="80"/>
<allow-access-from domain="vkontakte.ru" to-ports="80"/>
<allow-access-from domain="*.vkontakte.ru" to-ports="80"/>
<allow-access-from domain="*.userapi.com" to-ports="80"/>
<allow-access-from domain="userapi.com" to-ports="80"/>
<allow-access-from domain="vk.me" to-ports="80"/>
<allow-access-from domain="*.vk.me" to-ports="80"/>
<allow-access-from domain="odnoklassniki.ru" to-ports="80"/>
<allow-access-from domain="*.odnoklassniki.ru" to-ports="80"/>
</cross-domain-policy>
И все будет работать

botbot 16.12.2013 22:12

Кроссдомен есть. На всякий случай ваш воткнул - не помогло.

caseyryan 16.12.2013 22:17

кстати, в Security.allowDomain() желательно во время разработки указывать просто *

botbot 17.12.2013 18:52

Там и это тоже стоит. Всё равно не помогает.
Неужели никто не отлаживает приложения в песочнице ОК?

caseyryan 17.12.2013 18:56

Отлаживал, первое приложение. Все работало.
А сейчас нет необходимости, все новые отлаживаю на самом сайте

Покажите свой файл политики, ошибка явно в нем

botbot 17.12.2013 20:52

Изначально был такой:
Цитата:

<?xml version="1.0"?> <!-- http://www.osmf.org/crossdomain.xml --> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" to-ports="80" />
<allow-access-from domain="*" to-ports="8088" />
<site-control permitted-cross-domain-policies="all"/>
</cross-domain-policy>
потом заменил на такой:
Цитата:

<?xml version="1.0" encoding="utf-8" ?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-http-request-headers-from domain="vk.com" headers="*"/>
<allow-http-request-headers-from domain="*.vk.com" headers="*"/>
<allow-http-request-headers-from domain="vkontakte.ru" headers="*"/>
<allow-http-request-headers-from domain="*.vkontakte.ru" headers="*"/>
<allow-http-request-headers-from domain="*.userapi.com" headers="*"/>
<allow-http-request-headers-from domain="userapi.com" headers="*"/>
<allow-http-request-headers-from domain="vk.me" headers="*"/>
<allow-http-request-headers-from domain="*.vk.me" headers="*"/>
<allow-http-request-headers-from domain="odnoklassniki.ru" headers="*"/>
<allow-http-request-headers-from domain="*.odnoklassniki.ru" headers="*"/>
<allow-access-from domain="vk.com" to-ports="80"/>
<allow-access-from domain="*.vk.com" to-ports="80"/>
<allow-access-from domain="vkontakte.ru" to-ports="80"/>
<allow-access-from domain="*.vkontakte.ru" to-ports="80"/>
<allow-access-from domain="*.userapi.com" to-ports="80"/>
<allow-access-from domain="userapi.com" to-ports="80"/>
<allow-access-from domain="vk.me" to-ports="80"/>
<allow-access-from domain="*.vk.me" to-ports="80"/>
<allow-access-from domain="odnoklassniki.ru" to-ports="80"/>
<allow-access-from domain="*.odnoklassniki.ru" to-ports="80"/>
<allow-access-from domain="*.odnoklassniki.ru" to-ports="8088"/>
</cross-domain-policy>
Вконтакт его молча переваривает. Песочница ОК ругается.

caseyryan 17.12.2013 22:22

потому что в песочнице и домен и порт свой
замените на такой
Цитата:

<?xml version="1.0" encoding="utf-8" ?>
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*" />
</cross-domain-policy>
И, кстати, рекомендую еще кэш браузера после замены почистить


Часовой пояс GMT +4, время: 22:52.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.