|
|
|||||
Регистрация: Jul 2012
Сообщений: 66
|
Странный ответ от api контакта
Здрасьте, большое желание уже убрать букву Т из заголовка... суть: я отправляю запрос контакту(любой) и отлавливаю как и положено ответ. собственно - он приходит. в нем есть нужные переменные.. но все они имеют дефолтные значения - 0, null или undefined!
проверил все что только можно - приложение запрашивает у пользователя все разрешения нужные для запроса, собственно сам запрос составлен верно, пользователь с указанным id(в данном примере запроса) - тоже установил приложение и в друзьях, id написан без ошибок)... вообще даже не представляю что можно еще проверить.. гугл не помог - то ли я не могу кратко сформулировать вопрос, то ли еще что-то. короче говоря, вылезает все не по теме. написал вконтакт, в поддержку. все что они смогли ответить - "Ваш вопрос рассматривается. К сожалению, необходимо немного подождать." они не сказали даже на чьей стороне проблема.. ничего. дальнейшие попытки с ними связаться - впустую. все бы ничего.. но уже почти месяц прошел с того момента как я написал вопрос в поддержку. работа стоит( собственно код, на всякий случай: public static function getProfile():void { Main.output(userID + "loading profile \n"); Main.THIS.wrapper.external.api('users.get', {uids: userID, fields: "photo_medium, sex"},getProfSuccess, getProfFail); //loading user vars } static function getProfSuccess(Data:Object):void { Main.output("loading profile2 complete"); userGender = Data.sex; userPhoto = Data.photo_medium; userName = Data.first_name; userGender = Data.sex; Main.output('name=' + userName); Main.output('photo=' + userPhoto); Main.output('sex=' + userGender + '\n'); } static function getProfFail(Data:Object):void { Main.output("loading profile failed"); } |
|
|||||
Регистрация: Nov 2010
Сообщений: 497
|
А сниффером посмотреть структуру ответа, например?
Вас не смущает ? А если бы вы запрашивали двух пользователей? В общем, там не объект с данными пользователя приходит. А объект с данными пользователей. То ли map'а из id в пользователя, то ли массив, то ли объект с полем-массивом. По идее, в сниффере будет видно. И for'ом по объекту можно пройтись и посмотреть на его структуру. |
|
|||||
Вконтакте отвечает массивом пользователей.
__________________
return this... |
|
|||||
Мне кажется за месяц-то уже можно было эту мелкую проблему решить.
Если не понятно что там приходит, то можно хотя бы так было сделать И сразу стало бы понятно, что да, там действительно приходит массив. |
|
|||||
Регистрация: Jul 2012
Сообщений: 66
|
так и знал, что про нескольких пользователей скажут) я же даже пример прислал - там один пользователь... я знаю как действовать когда их больше - ибо в другом приложении, где я тестил работу с api - такой проблемы не было. хотя код такой же) если бы проблема была в этом - программа вызывала бы сообщения об ошибке(я прикрутил систему отладки для работы с api), как она собственно и вызывала пока я не разобрался с тем в каком формате приходит ответ. в том то и дело, что значения переменных я получаю. но они "пустые" О,о
за строчку trace(JSON.encode(Data)); - спасибо... не знал про такую штуку))) сейчас попробую Добавлено через 19 минут "trace(JSON.encode(Data));" эммм... строчка не работает - пишет ошибку: не определено свойство JSON... хотя в мануале написано что класс JSON находится в верхнем пакете О.о Добавлено через 44 минуты ой я дебиииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииил =D. вобщем если кому понадобится - ответ из контакта обычно приходит в массиве, да. но в некоторых методах принцип другой: в ответ приходит объект с массивом (data.response[i]), если запрашивалось больше одного "объекта", или просто data.var в случае если "объект" был один... вот это меня и запутало.. разные методы - разные типы ответов %) звучит бредово, но про response мне собственно тех поддержка и говорила.. и тогда(давно) это помогло... и я все переправил под этот принцип =) всем спасибо. сильно надо мной не смейтесь) к слову - может кто-нибудь помочь с мелким вопросом (не стоит он новой темы) короче - как обращаться к не статичной переменной главного класса из статичных методов О,о знаю, что вроде бы должно быть где-то "мануальное" решение... но не нашел. а показывать людям код со всякими кракозябами типо "Main.THIS.var", где static var THIS = this =D - ужасно стыдно впрочем это ерунда... спасибо за магию форума) Последний раз редактировалось pall92; 01.07.2013 в 02:05. |
|
|||||
статичным методам не зачем обращаться к каким-бы то ни было свойствам главного класса
не встречал еще ситуации, чтобы статичным методам нужна была информация кроме той, которой передают непосредственно самому методу в виде параметров. |
|
|||||
Цитата:
|
Часовой пояс GMT +4, время: 04:41. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|