AndrewShmig / Vkontakte-iOS-SDK-LV

[iOS] Powerful & flexible Vkontakte iOS SDK Latest Version
79 stars 23 forks source link

newsfeed.get id группы #108

Closed Nikaladze closed 10 years ago

Nikaladze commented 10 years ago

Я делаю запрос на получение новостей и если новость от группы, то ВК присылает "-ID", а если от человека - просто "ID". Также в этом ответе отдельно приходят данные о пользователях и группах, только там ID групп приходят без минуса. Проблема в том, что при переходе к десятичной системе отрицательные значения переводятся, как положительные. Соответственно в owner_id от групп приходят 720575... Как выйти с этой ситуации? - -2014-09-01- -13 59 47

AndrewShmig commented 10 years ago

Проблема в том, что при переходе к десятичной системе отрицательные значения переводятся

О каком переводе идет речь? Где этот перевод осуществляется? Проблема однозначно на вашей стороне и скорее всего в том, какой тип данных вы используете. NSUInteger?


С уважением, Шмиг Андрей Андреевич

Skype: sky-dos Email: andrewshmig@yandex.ru

On 01 Sep 2014, at 15:30, Nikaladze notifications@github.com wrote:

Я делаю запрос на получение новостей и если новость от группы, то ВК присылает "-ID", а если от человека - просто "ID". Также в этом ответе отдельно приходят данные о пользователях и группах, только там ID групп приходят без минуса. Проблема в том, что при переходе к десятичной системе отрицательные значения переводятся, как положительные. Соответственно в owner_id от групп приходят 720575... Как выйти с этой ситуации? https://cloud.githubusercontent.com/assets/6143281/4107620/5f72faec-31ca-11e4-93e4-5467163c1012.png — Reply to this email directly or view it on GitHub https://github.com/AndrewShmig/Vkontakte-iOS-SDK-LV/issues/108.

Nikaladze commented 10 years ago

Это скриншот того, что приходит. Т.е. в делегате:

-(void) request:(VKRequest *)request response:(id)response

я вытягиваю ответ:

NSDictionary *responseDict = [response objectForKey:@"response"];

и результат на картинке выше. Я никуда ничего дополнительно не перевожу, просто если то, что приходит (720575...) перевести в 16-ую систему, то получим 0xbfffffffffff8ca3, я плохо помню, но минус как-то так и кодируется

AndrewShmig commented 10 years ago

А если пробовать осуществить такой же запрос на самом dev.vk.com со страницы документации? Всё верно выдаёт? У меня просто пока только два варианта: 1) ВК что-то не то выдаёт 2) при преобразовании ответа сервера в JSON (NSJSONSerialization) происходит некорректное преобразование типов, что странно


С уважением, Шмиг Андрей Андреевич

Skype: sky-dos Email: andrewshmig@yandex.ru

On 01 Sep 2014, at 15:57, Nikaladze notifications@github.com wrote:

Это скриншот того, что приходит. Т.е. в делегате:

-(void) request:(VKRequest *)request response:(id)response я вытягиваю ответ:

NSDictionary *responseDict = [response objectForKey:@"response"]; и результат на картинке выше. Я никуда ничего дополнительно не перевожу, просто если то, что приходит (720575...) перевести в 16-ую систему, то получим 0xbfffffffffff8ca3, я плохо помню, но минус как-то так и кодируется

— Reply to this email directly or view it on GitHub https://github.com/AndrewShmig/Vkontakte-iOS-SDK-LV/issues/108#issuecomment-54051154.

Nikaladze commented 10 years ago

Здесь (http://vk.com/dev/newsfeed.get) поля source_id (если это группы) возвращаются минусовыми, потому похоже на второй вариант

AndrewShmig commented 10 years ago

Тогда даже не знаю, чем могу помочь. Попробуйте еще каким-то образом проверить, что же возвращает контакт… есть ли проблемы с отрицательными айдишниками при попытке получить информацию по другим запросам?


С уважением, Шмиг Андрей Андреевич

Skype: sky-dos Email: andrewshmig@yandex.ru

On 01 Sep 2014, at 16:32, Nikaladze notifications@github.com wrote:

Здесь (http://vk.com/dev/newsfeed.get http://vk.com/dev/newsfeed.get) поля source_id и owner_id возвращаются минусовыми, потому похоже на второй вариант

— Reply to this email directly or view it on GitHub https://github.com/AndrewShmig/Vkontakte-iOS-SDK-LV/issues/108#issuecomment-54054020.

Nikaladze commented 10 years ago

Конечно, жесткий баян, но может кому-то поможет, кто столкнется с подобной ситуацией. Перевожу ID группы с минусом в HEX:

NSString *keyValue = [NSString stringWithFormat:@"%02lx",-[groupItem.gId longValue]];

Забиваю в Словарь нормальные данные по этому ключу

[groups setObject:groupItem forKey:keyValue];

Когда по ключу не нахожу инфу в пользователях, значит это скорее всего группы - начинаю искать в словаре по такому ключу:

NSString *hexValue = [NSString stringWithFormat:@"%02lx",[sourceId longValue]];

И восcтанавливаю нормальный ID

Nikaladze commented 10 years ago

Еще такой вопрос: есть возможность быстрого переключения на последнюю версию АПИ?

AndrewShmig commented 10 years ago

Быстрого? А в чем конкретно проблема? Давно уже не работал с ВК.


С уважением, Шмиг Андрей Андреевич

Skype: sky-dos Email: andrewshmig@yandex.ru

On 01 Sep 2014, at 17:59, Nikaladze notifications@github.com wrote:

Еще такой вопрос: есть возможность быстрого переключения на последнюю версию АПИ?

— Reply to this email directly or view it on GitHub https://github.com/AndrewShmig/Vkontakte-iOS-SDK-LV/issues/108#issuecomment-54061702.

Nikaladze commented 10 years ago

В этих самых новостях приходит поле next_from, это что-то типа offset только более продвинутое, а оно доступно в версии начиная с 5.13

AndrewShmig commented 10 years ago

Так какие трудности? СДК не может работать последней версией или что?


С уважением, Шмиг Андрей Андреевич

Skype: sky-dos Email: andrewshmig@yandex.ru

On 01 Sep 2014, at 18:07, Nikaladze notifications@github.com wrote:

В этих самых новостях приходит поле new_from, это что-то типа offset только более продвинутое, а оно доступно в версии начиная с 5.13

— Reply to this email directly or view it on GitHub https://github.com/AndrewShmig/Vkontakte-iOS-SDK-LV/issues/108#issuecomment-54062472.

Nikaladze commented 10 years ago

Бывает, тупанул.