​​Yandex Music Client для JavaScript

​​Yandex Music Client для JavaScript

За последние пару дней новогодних праздников я, наконец-то, сделал то, что собирался сделать пару лет - сгенерировал JavaScript-клиент для Яндекс.Музыки на основе OpenAPI-схемы.

Что это значит? Берётся OpenAPI-схема и скармливается генератору, на основе которой генерируется библиотека на определённом языке программирования, которая может использоваться для отправки запросов на сервер.

👉 Для генерации клиента используется openapi-typescript-codegen

👉 Теперь VSCode-плагин для Яндекс.Музыки использует пакет yandex-music-client

Установка

npm i yandex-music-client

Пример использования

import { getToken } from 'yandex-music-client/token';

import { YandexMusicClient } from 'yandex-music-client/YandexMusicClient'

const token = await getToken('your email', 'your password');

const client = new YandexMusicClient({

BASE: "https://api.music.yandex.net:443",

HEADERS: {

'Authorization': `OAuth ${config.token}`

},

});

client.landing.getNewReleases();

Yandex Music Client for JavaScript

За последние пару дней новогодних праздников я, наконец-то, сделал то, что собирался сделать пару лет - сгенерировал JavaScript-клиент для Яндекс.Музыки на основе OpenAPI-схемы.

Что это значит? Берётся OpenAPI-схема и скармливается генератору, на основе которой генерируется библиотека на определённом языке программирования, которая может использоваться для отправки запросов на сервер.

👉 Описание OpenAPI-схемы на GitHub

👉 Для генерации клиента используется openapi-typescript-codegen

👉 JavaScript-клиент Яндекс.Музыки на npm - yandex-music-client

👉 Теперь VSCode-плагин для Яндекс.Музыки использует пакет yandex-music-client

Установка

npm i yandex-music-client

Пример использования

import { getToken } from 'yandex-music-client/token';

import { YandexMusicClient } from 'yandex-music-client/YandexMusicClient'

const token = await getToken('your email', 'your password');

const client = new YandexMusicClient({

BASE: "https://api.music.yandex.net:443",

HEADERS: {

'Authorization': `OAuth ${config.token}`

},

});

client.landing.getNewReleases();

#javascript #yandexmusic #openapi

22
Начать дискуссию