@proelixir

Страница 35 из 1045
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
Погодите, так вы хотите так вообще все функции перечислять?

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
На всякий случай там, Может и не надо такого

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

Google
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
> fwd = "" > fwd_inner = "" > i = i + 1 Забыл убрать, наверное.
Вроде там что-то ещё должно было обрабатываться, но не понадобилось и я забыл.

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

Vladimir
27.07.2016
09:21:58
http://joxi.ru/LmG7okLuRPd1Qm
Токен нужен не всем методам.

Константин
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
Небольшая проблема.

Страница 35 из 1045