Socket
Socket
Sign inDemoInstall

@openmoviedb/kinopoiskdev_client

Package Overview
Dependencies
0
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @openmoviedb/kinopoiskdev_client

JS/TS для API kinopoisk.dev


Version published
Maintainers
1
Install size
282 kB
Created

Changelog

Source

1.3.10 (2023-07-22)

Bug Fixes

  • update build (a217822)

Readme

Source

Open movie API logo

TS/JS клиент для kinopoisk.dev API (@openmoviedb/kinopoiskdev_client)

Эта библиотека позволяет взаимодействовать с неофициальным API kinopoisk, обеспечивая удобный доступ к таким сущностям как:

  • Фильмы (movie)
  • Сезоны (season)
  • Персоны (person)
  • Ключевые слова (keyword)
  • Студии (studio)
  • Изображения (image)
  • Отзывы (review)

Начало работы

  1. Получите токен у телеграм бота @kinopoiskdev_bot.
  2. Изучите документацию. Она выполнена в формате OpenAPI и поможет вам понять, какие данные можно получить и какие параметры можно передать в запросе.

Установка

Установите библиотеку через npm:

npm i @openmoviedb/kinopoiskdev_client

или yarn:

yarn add @openmoviedb/kinopoiskdev_client

Использование

Сначала инициализируйте клиент и передайте в него ваш токен:

import { KinopoiskDev } from '@openmoviedb/kinopoiskdev_client';

const kp = new KinopoiskDev('ВАШ ТОКЕН');

Взаимодействие с сущностями

После инициализации клиента вы можете начать взаимодействовать с различными сущностями. Вот пример того, как можно получить информацию о фильме по его ID:

const {data} = await kp.movie.getById(666);
console.log(data);

Использование Query Builder

QueryBuilder это специальный инструмент, который помогает вам создавать сложные запросы без написания их вручную. QueryBuilder позволяет вам добавлять различные параметры в ваш запрос, такие как сортировка, фильтрация, пагинация и выбор конкретных полей для возвращения. Этот инструмент валидирует поля, которые вы передаете, и подсвечивает подсказки, что облегчает использование.

Вот пример использования QueryBuilder для получения списка фильмов с определенными параметрами:

import {
  KinopoiskDev,
  MovieQueryBuilder,
  SPECIAL_VALUE,
  SORT_TYPE,
} from '@openmoviedb/kinopoiskdev_client';

const kp = new KinopoiskDev('ВАШ ТОКЕН');

const getRelatedByQueryBuilderMovies = async () => {
  const queryBuilder = new MovieQueryBuilder();

  const query = queryBuilder
    .select(['id', 'name', 'rating', 'poster', 'year'])
    .filterRange('year', [2020, 2023])
    .filterRange('rating.kp', [7.5, 10])
    .filterExact('poster.url', SPECIAL_VALUE.NOT_NULL)
    .sort('rating.kp', SORT_TYPE.DESC)
    .paginate(1, 10)
    .build();

  const { data, error, message } = await kp.movie.search(query);

  console.log(data, error, message);
};

getRelatedByQueryBuilderMovies();

Обратите внимание, что QueryBuilder совместим с axios и другими HTTP клиентами. Если вам нужно использовать другой HTTP клиент, вы можете сделать это. Библиотека предоставляет все необходимые типы для этого.

Также вы можете взаимодействовать с API без использования QueryBuilder, просто составив запрос самостоятельно или в интерфейсе документации API. Пример:

import { KinopoiskDev, Filter, MovieFields } from '@openmoviedb/kinopoiskdev_client';

const kp = new KinopoiskDev('ВАШ ТОКЕН');

const getRelatedWithoutQueryBuilderMovies = async () => {
  const query: Filter<MovieFields> = {
    selectFields: ['id', 'name', 'rating', 'poster', 'year'],
    year: '2020-2023',
    'rating.kp': '7.5-10',
    'poster.url': '!null',
    sortField: 'rating.kp',
    sortType: '-1',
    page: 1,
    limit: 10,
  };

  const { data, error, message } = await kp.movie.getByFilters(query);

  console.log(data, error, message);
};

getRelatedWithoutQueryBuilderMovies();

Подробные примеры

Для более детальных примеров использования библиотеки, пожалуйста, обратитесь к директории examples в репозитории проекта. Там вы найдете примеры работы с каждой из доступных сущностей.

Keywords

FAQs

Last updated on 22 Jul 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc