
Dmitry
27.07.2016
08:47:25
А нет тогда?
Гет*

Vladimir
27.07.2016
08:47:52
Добавляет в получаемый КОНТЕКСТ параметры для запроса.
По сути хелпер.

Google

Vladimir
27.07.2016
08:48:31
Но смыла в этом особо нет.

Dmitry
27.07.2016
08:48:43
Не, я понял! Идея кстати супер

Vladimir
27.07.2016
08:48:50
Но может быть только один запрос же.
Подобное только для execute делать смысл есть.

Константин
27.07.2016
08:49:16
Погодите, так вы хотите так вообще все функции перечислять?

Vladimir
27.07.2016
08:49:29

Dmitry
27.07.2016
08:49:31
Толко вот контекст можно сделать так, а может быть генсерверлм, в котором токен перманентно хранится

Vladimir
27.07.2016
08:49:34
Да.

Константин
27.07.2016
08:49:37
Да, про методы Апи

Vladimir
27.07.2016
08:49:50
Ну как неудобно...
API.call("users.get", user_id: 1)
Но в ответ мы хотим получать структуру %VK.User

Google

Константин
27.07.2016
08:51:01
Да может просто JSON?

Vladimir
27.07.2016
08:51:07
А смысл тогда во враппере?

Константин
27.07.2016
08:51:16
Не, неправильно сказал

Vladimir
27.07.2016
08:51:29
Я понял, отдавать карту обычную.

Константин
27.07.2016
08:51:46
Как он там.. %{} обычный

Vladimir
27.07.2016
08:51:49
Но суть в том, АПИ вконтакта местами просто пиздец.

Dmitry
27.07.2016
08:51:52
ola

Vladimir
27.07.2016
08:51:58
Отдаёт данные в крайне неудобном формате.

Dmitry
27.07.2016
08:52:13
Шалом

Константин
27.07.2016
08:52:17
Привет!

Vladimir
27.07.2016
08:52:26
И суть как раз в стандартизации отетов, etc.

Константин
27.07.2016
08:52:36
Мм..вот она цель!

Vladimir
27.07.2016
08:52:44
В одном месте там ID пользователя строкой возвращается, в другом интом.
Ну, это далеко не самое плохое, что там есть, лол.

Dmitry
27.07.2016
08:57:08
Я думаю так. Авторизируемя, получаем сервак глобальный с токеном
Vk.authorise(login,password, user: pasha)
Потом
Vk.as_user("pasha")
|> Vk.Users.Get(1373748)
|> Vk.Request.add_parameter("chto_to", 123)
|> Vk.Query или Vk.Query_async(to: self())
И если асинхронно то
> flush
%Vk.User{....}

Vladimir
27.07.2016
08:57:52
> add_parameter
Зачем, если можно в get передать?

Dmitry
27.07.2016
08:58:20
На всякий случай там,
Может и не надо такого

Vladimir
27.07.2016
08:58:38

Dmitry
27.07.2016
08:58:41
Просто имел ввиду что в цепочке можно ещё помодифицировать как то запрос

Google

Vladimir
27.07.2016
08:58:53

Dmitry
27.07.2016
08:59:29
Пуль юзеров может иметь смысл. А может и не иметь)
Я просто предлагаю пока что

Vladimir
27.07.2016
09:00:03
Лонгполл-сервер вконтакта пересланные сообщения возвращает в таком формате вообще: 305474979_1513511:(305474979_1513510),305474979_1513512:(305474979_1513498:(86711420_1433998,86711420_1433999),305474979_1513499)
Но если запросить информацию о сообщении по его ID у API, то он вернёт вложенный JSON.

Vadim
27.07.2016
09:01:11
Ну так все правильно
Лонг полл не надо данными засорять
Они могут и не понадобиться

Vladimir
27.07.2016
09:01:30
Эм, я не об этом.
То есть данными засорять?

Vadim
27.07.2016
09:02:07
Зачем мне например вложенный жсон в лонг полле, если мне иерархия пересылок не нужна?
При необходимости всегда можно получить

Vladimir
27.07.2016
09:02:28

Vadim
27.07.2016
09:02:43
Только в нем нету кучи текстовой информации

Vladimir
27.07.2016
09:02:45

Vadim
27.07.2016
09:03:07

Vladimir
27.07.2016
09:03:33
Мне вообще её не нужно получать, суть не в этом. ИЕРАРХИЯ ПЕРЕСЫЛОК сохранена в тех данных, которые возвращает лонгполл-сервер.

Vadim
27.07.2016
09:03:51
Она очень сокращенная

Google

Vladimir
27.07.2016
09:03:51
Я про то, что если запросить их напрямую, то вернутся эти же данные, только в нормальном формате.
Очень сомнительная оптимизация.

Vadim
27.07.2016
09:04:49
Ну апи то в основном для телефонов
Там трафик до сих пор важен

Vladimir
27.07.2016
09:05:13
Лол, блядь.
305474979_1513511:(305474979_1513510),305474979_1513512:(305474979_1513498:(86711420_1433998,86711420_1433999),305474979_1513499)
Представь это в жсоне.
Разницы практически нет.

Vadim
27.07.2016
09:06:07
И это все отличие?
Лол, тогда реально дебилизм

Vladimir
27.07.2016
09:06:20
Который вряд ли распарсит это быстрее, чем какой-нибудь poison распарсил бы аналогичный пейлоад в JSON.

Vadim
27.07.2016
09:08:53
А парсер писать необязательно, кстати

Vladimir
27.07.2016
09:08:57
Суть враппера в том, чтобы избавить тех, кто будет им пользоваться, от необходимости бороться со всем этим говном.

Vadim
27.07.2016
09:09:11
Можно некоторые символы заменить и парой регексов пройтись, и получим жсон
Регексы для обертывания чисел в строки
А круглые скобки на квадратные заменить

Vladimir
27.07.2016
09:12:20
Выглядит это просто отвратительно, но ПОКА ЧТО мне не хочется переписывать это ещё раз.

Google

Vladimir
27.07.2016
09:14:47
Впрочем, надо бы.
> fwd = ""
> fwd_inner = ""
> i = i + 1
Забыл убрать, наверное.

Константин
27.07.2016
09:18:52
Так пишут вообще?))
http://joxi.ru/LmG7okLuRPd1Qm

Vladimir
27.07.2016
09:19:33

Константин
27.07.2016
09:19:42
Ну то, что я кинул

Vladimir
27.07.2016
09:20:14

Константин
27.07.2016
09:20:50
Это типа тот самый conn.. а потом мы можем передавать его в VkApi.Query

Vladimir
27.07.2016
09:21:58

Константин
27.07.2016
09:22:17
Результат запроса можно кинуть в VkApi.Parser, который на основе :method_name сделает нам соответствующий tuple и вернет результаты в удобном виде
но если это не нужно - разработчик может не вызывать парсер
Если токен будет nil - мы будем его игнорировать

Vladimir
27.07.2016
09:23:16
VK.Users.get("durov", param: "something") выглядит лучше чем new("users.get", [param: "something"], token: nil, version: nil)
Ну, передавать имя метода атомом можно, да.

Константин
27.07.2016
09:24:28
Это будет легко доделать.. т.е. будет некий общий API и специализированный для конкретных команд
А специализированный просто будет вызывать общий апи)

Vladimir
27.07.2016
09:25:27
Небольшая проблема.