api_result возвращает undefined

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
AlexLucas
Сообщения: 18
Зарегистрирован: 10 ноя 2011, 19:44

api_result возвращает undefined

Сообщение AlexLucas »

Добрго времени суток.
Есть такой кусок кода :

Код: Выделить всё

 function onAddedToStage(e: Event): void {             wrapper = Object(parent.parent);                                   if (wrapper.application.parameters) {                                       var params:Object = wrapper.application.parameters;                                     userId = params.viewer_id;                    trace(params.api_result);      //undefined                      uids = JSON.decode(params.api_result);     //  и естественно TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".                }......        
А должно возвращать хоть что-то : http://vkontakte.ru/developers.php?id=-1_27971896&s=1.

И ещё, у меня флэш приложение в обёртке, из api у меня следующие файлы :

Код: Выделить всё

 -api  -serialization    +json   //классы для работы с json  DataProvider.as  MD5.as-Server  // то что на сервере лежит  CurlHandler.class.php  MySQL.class.php  VkApi.class.php  index.php 
Давно (где-то год) не обновлялись файлы, вопрос глупый, но всё же - где скачать последний архив с api (как я понял) для php?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: api_result возвращает undefined

Сообщение Александр »

Код: Выделить всё

trace(wrapper.application.parameters.viewer_id);
Тоже undefined ?
AlexLucas писал(а):Давно (где-то год) не обновлялись файлы, вопрос глупый, но всё же - где скачать последний архив с api (как я понял) для php?
http://vkontakte.ru/developers.php?oid= ... %D1%81_API - внизу официальные классы.
AlexLucas
Сообщения: 18
Зарегистрирован: 10 ноя 2011, 19:44

Re: api_result возвращает undefined

Сообщение AlexLucas »

Код: Выделить всё

trace(wrapper.application.parameters.viewer_id);
выдаёт нормально, но при

Код: Выделить всё

trace(wrapper.application.parameters.api_result);
опять undefined.

И ещё - только что скачал и обновил классы - есть вопрос насчёт DataProvider - раньше у него была куча строковых статиков типа

Код: Выделить всё

  public static var GET_VARIABLE: String    = "getVariable";    public static var PUT_VARIABLE: String    = "putVariable";    public static var GET_MESSAGES: String    = "getMessages";...................dataProvider = new DataProvider(.......);// вызов главного метода request делался такdataProvider.request(DataProvider.GET_USER_BALANCE, {                onComplete: function(data)                {..... }});  
Сейчас их нет. Как их заменить в запросах? Просто писать

Код: Выделить всё

dataProvider.request("getVariable", {onComplete: function(data){..... }});
?
Там ещё один странный параметр api_sid, если можете, приведите инициализацию DataProvider и вызов его метода request.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: api_result возвращает undefined

Сообщение Александр »

AlexLucas
В исходном коде у api_result есть значение? Это же результат Первого запроса к API из настроек?

Это другой класс, для Вконтакте API 3.0. Старая версия 2.0 требовала секретный ключ из настроек приложения. Версия 3.0 работает по другому.
Нужно не просто заменить файлы и поправить пару строчек, а полностью пересмотреть работу приложения с методами api. Методы с текущими классами вызываются по другому. Смотри примеры в разделе уроков.
AlexLucas
Сообщения: 18
Зарегистрирован: 10 ноя 2011, 19:44

Re: api_result возвращает undefined

Сообщение AlexLucas »

Я так понял уже не используется класс DataProvider, а вместо этого работают с APIConnection, вроде там уже происходит работа с DataProvider?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: api_result возвращает undefined

Сообщение Александр »

AlexLucas
Чтобы взаимодействовать с ВКонтакте API, не нужны никакие DataProvider и APIConnection. Посмотри урок http://flapps.ru/forum/topic992.html
DataProvider и APIConnection - упрощают взаимодействие с api. Это разные классы и использовать их нужно по разному.
APIConnection не является в прямом смысле "заменой" DataProvider. Это лишь класс, выполняющий аналогичную вспомогательную функцию.
Ответить