vodka2/vk-audio-token

More examples

oprytula opened this issue · 9 comments

Добрый день!
Отличная работа, очень круто!
Подскажите пожалуйста где можно посмотреть все методы для audio куда можно слать запросы и какие параметры они принимают? Например как получить песни по жанру? или как получить список исполнителей и их песни?
Заранее огромное спасибо.

@oprytula Добрый день.
Актуальные методы API можно посмотреть только из запросов официальных приложений. Ну или есть ещё архив. Вообще неплохая идея добавить сюда информацию обо всех методах audio API, думаю, в ближайшее время займусь.
Насчёт ваших примеров. Мне кажется, ни официальный клиент, ни Kate не умеют искать по жанрам. Можно только найти песни по исполнителю. По аналогии с другими примерами, искать по исполнителю justin, используя токен от Kate:

GET /method/audio.search?access_token=<token>&count=10&performer_only=1&q=justin&v=5.95

Используя токен от официального клиента:

POST /method/catalog.getAudioArtist
v=5.116&https=1&device_id=<device_id>&artist_id=justin&need_blocks=1&lang=en&access_token=<token>

Спасибо Вам большое.

Начал делать документацию, пока что описал большинство методов и аргументов для API, которое используется в Kate Mobile. Необходимо перенести остальные методы и аргументы, может, что-то поправить.

Хорошая работа)
я еще использую метод audio.getCatalog

$url = 'https://api.vk.com/method/audio.getCatalog?v=5.116&https=1&ref=recommendations&lang=en&count=100&access_token=TOKEN&sig=' . md5('/method/audio.getCatalog?' . 'v=5.116&https=1&ref=recommendations&lang=en&count=100&access_token=TOKEN' . 'SECRET');

$url = 'https://api.vk.com/method/audio.getCatalog?v=5.116&https=1&query=Justin+Bieber&lang=en&count=100&access_token=TOKEN&sig=' . md5('/method/audio.getCatalog?' . 'v=5.116&https=1&query=Justin+Bieber&lang=en&count=100&access_token=TOKEN' . 'SECRET');

но я еще не понял как тут делать pagination...

@oprytula
Не очень понятно, зачем для поиска по исполнителю использовать метод audio.getCatalog. Мне кажется, для этой цели нужно поступить по-другому:

  1. Запросом catalog.getAudioArtist artist_id=justinbieber&need_blocks=0 получить id секции c исполнителем. Если в поле title пусто, значит, такого исполнителя нет.
  2. Запросом catalog.getSection section_id=<id секции> получить саму секцию с аудио. В ответе будет секция music_audios.
  3. Запросом catalog.getSection section_id=<id секции music_audios>&count=10&start_from=<значение в next_from> получать уже собственно аудиозаписи. Если нужна пагинация, то смотреть на значение в поле next_from и подставлять его в поле start_from в следующем запросе. Другими словами, первая страница без start_from, в следующей start_from из next_from из первого ответа VK, в следующей — из второго ответа и так далее.

Кто может подсказать по методам получения чартов популярного, новинок и прочего? До сегодняшнего дня это делалось через https://api.vk.com/method/catalog.getAudio, а далее вызовом https://api.vk.com/method/catalog.getSection с передачей параметров результата первого вызова, как я понял в вк произошли изменения, catalog.getAudio теперь возращает лишь рекомендованное для аккаунта. Пробовал сниффать, но не вышло, буду признателен если кто подскажет что там сейчас происходит при вызове.

@Vermili0n сейчас как раз работаю над документацией для официального клиента, скоро будет готово. Насчёт вашего вопроса — можно получить секцию с "title": "Обзор", это последняя секция у меня, которую возвращает catalog.getAudio. Там будут всякие новинки и прочее.

@Vermili0n ещё может быть проблема в том, что старая версия. Я попробовал со старой версией, v=5.116, только рекомендованные, с новой, v=5.138 есть и «Обзор» или «Explore».

Думаю, основная часть документации готова, лучше создавать отдельные issue для улучшений или вопросов.