![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2011
Сообщений: 6
|
Доброе время суток.
Пытаюсь вызвать метод "getVariable" посредством APIConnection (использую пример использования APIConnection из ВКонтакте): 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 ); Такая же ошибка возникает с методами "getServerTime" и "getVariables". При этом, например, метод "wall.post" (что изначально есть в примере) работает. В чём может быть дело? Добавлено через 2 часа 21 минуту Ну вот, после 5-часовой отладки, поковырявшись в их APIConnection увидел что в callback данные передаются уже как data.response, поэтому внутри callback'а снова получать response уже нельзя. Но причём тут Security - вообще не понятно. Добавлено через 24 часа 27 минут А вот "putVariable" всегда выполняется с ошибкой. Простое приложение с кодом: Добавлено через 25 часов 23 минуты Нашёл причину. При вызове APIConnection.api() нужно указывать оба параметра из функций обратного вызова, не смотря на то что по-умолчанию, якобы, поддерживаются нулевые (null) функции. При получении результата от сервера и вызове функции обратного вызова возникает эта ( " SecurityError: Error #2000: Отсутствует активный контекст безопасности. " ) ошибка. Последний раз редактировалось SlavMFM; 29.03.2011 в 19:08. |
|
|||||
|
Регистрация: 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. |
|
|
« Предыдущая тема | Следующая тема » |
|
|