Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.03.2011, 17:44
SlavMFM вне форума Посмотреть профиль Отправить личное сообщение для SlavMFM Найти все сообщения от SlavMFM
  № 1  
Ответить с цитированием
SlavMFM

Регистрация: Feb 2011
Сообщений: 6
По умолчанию SecurityError: Error #2000 при использовании getVariable

Доброе время суток.
Пытаюсь вызвать метод "getVariable" посредством APIConnection (использую пример использования APIConnection из ВКонтакте):
Код AS3:
VK.api("getVariable", { key:1040 }, function(data:Object): void { tf.appendText("got variable = " + data.response.toString() + "\n"); }, function(data:Object): void { tf.appendText("Error: getVariable: " + data.error_msg + "\n"); } );
 
//или так, что тоже самое:
private function onGetVariableSuccess(data:Object): void
{
	tf.appendText("got variable = " + data.response.toString() + "\n");
}
private function onGetVariableFail(data:Object): void
{
	tf.appendText("Error: getVariable: " + data.error_msg + "\n");
}
VK.api("getServerTime", { key:'1040' }, onGetVariableSuccess, onGetVariableFail );
Получаю ошибку: "SecurityError: Error #2000: Отсутствует активный контекст безопасности."
Такая же ошибка возникает с методами "getServerTime" и "getVariables".
При этом, например, метод "wall.post" (что изначально есть в примере) работает.
В чём может быть дело?

Добавлено через 2 часа 21 минуту
Ну вот, после 5-часовой отладки, поковырявшись в их APIConnection увидел что в callback данные передаются уже как data.response, поэтому внутри callback'а снова получать response уже нельзя.
Но причём тут Security - вообще не понятно.

Добавлено через 24 часа 27 минут
А вот "putVariable" всегда выполняется с ошибкой.
Простое приложение с кодом:
Код AS3:
...
VK = new APIConnection;
VK.api("putVariable", { key:1040, value:" " });
Добавлено через 25 часов 23 минуты
Нашёл причину. При вызове APIConnection.api() нужно указывать оба параметра из функций обратного вызова, не смотря на то что по-умолчанию, якобы, поддерживаются нулевые (null) функции.
При получении результата от сервера и вызове функции обратного вызова возникает эта ( " SecurityError: Error #2000: Отсутствует активный контекст безопасности. " ) ошибка.


Последний раз редактировалось SlavMFM; 29.03.2011 в 19:08.
Старый 15.06.2011, 10:26
Omar2002 вне форума Посмотреть профиль Отправить личное сообщение для Omar2002 Найти все сообщения от Omar2002
  № 2  
Ответить с цитированием
Omar2002

Регистрация: Oct 2007
Сообщений: 45
Я заметил что происходит загрузка http://vkontakte.ru/swf/api_external2_0.swf после инициализации АПИ, и после этого вылетает ошибка - может быть это реально косяк в том, что опять получается нужно секьюрити разрешение внутри этой флешки, т.к. они все с разных доменов. Но вот я в эту флешку не могу встроить код, не пойму что делать с этой дурацкой ошибкой.

Добавлено через 11 минут
Кажется понял в чем дело:
Архитектура такая у приложения получается - есть прелоадер - он загружен во вконтакте, он подгружает с хостинга основную swf-ку из которой идет работа с апи.
Т.е. основная swf-ка имеет домен, отличный от vkontakte.ru
Апи после инициализации загружает вот такой файл http://vkontakte.ru/swf/api_external2_0.swf и начинает с ним работать, т.к. апи запускается из влешки с хостинга, а этот файл с вконтакте. то для ихх взаимодействия необходимо в обеих флешках разрешить секьюрити-домены, но в своей я могу это сделать, а во вконтактовской - нет.
Выход получается один - запускать апи в прелоадере и работать с ним через прелоадер, тогда апи будет вызываться из файла, который находится в том же домене, что и ttp://vkontakte.ru/swf/api_external2_0.swf

Вроде так выходит.

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:34.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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