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. Мне кажется, для этой цели нужно поступить по-другому:
- Запросом
catalog.getAudioArtist
artist_id=justinbieber&need_blocks=0
получить id секции c исполнителем. Если в полеtitle
пусто, значит, такого исполнителя нет. - Запросом
catalog.getSection
section_id=<id секции>
получить саму секцию с аудио. В ответе будет секцияmusic_audios
. - Запросом
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 для улучшений или вопросов.