From 03a9ca7c91ba05e72c64815c3b0b8a90cc091595 Mon Sep 17 00:00:00 2001 From: dmitryger Date: Fri, 23 Feb 2024 17:37:53 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20ReadMe.ru.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.ru.md | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 README.ru.md diff --git a/README.ru.md b/README.ru.md new file mode 100644 index 0000000..d5bf879 --- /dev/null +++ b/README.ru.md @@ -0,0 +1,88 @@ +# Оболочка Шикимори API + +Библиотека TypeScript, предоставляющая простую и удобную оболочку для доступа к Шикимори API. Библиотека поддерживает все эндпоинты и типы API Шикимори, а также предоставляет функциональность авторизации OAuth2 с использованием токена доступа. + +[![Build Status](https://img.shields.io/github/actions/workflow/status/Capster/node-shikimori/run-build.yml)](https://github.com/Capster/node-shikimori/actions/) +[![npm version](https://img.shields.io/npm/v/node-shikimori.svg)](https://www.npmjs.com/package/node-shikimori) +[![License](https://img.shields.io/github/license/capster/node-shikimori)](https://github.com/Capster/node-shikimori/LICENSE) +[![donate boosty](https://img.shields.io/badge/donate-boosty-blue.svg)](https://boosty.to/capster) + +## Особенности + +- **Поддержка всех эндпоинтов Шикимори API**: Эта библиотека поддерживает все эндпоинты (включая v1 и v2) Шикимори API, включая аниме, мангу, персонажей, пользователей и многое другое. +- **Поддежка авторизации**: Библиотека обеспечивает поддержку авторизации с использованием токена доступа. +- **Строгая типизация**: В библиотеке все методы типизированы, что упрощает интеграцию с другими проектами, использующими Typescript. +- **Отсутствие зависимостей**: Эта библиотека не имеет внешних зависимостей, что делает её легковесной и простой для установки. +- **Простое в использовании API**: Оболочка API разработана так, чтобы быть простой и удобной в использовании, с интуитивно понятными методами и параметрами, которые позволяют легко и быстро приступить к работе. + +## Документация +Посмотреть node-shikimori [документацию API](https://capster.github.io/node-shikimori) сгенерированную с помощью TypeDoc. + +Посмотреть [официальную документацию](https://shikimori.me/api/doc) для Шикимори API. + +## Установка +#### npm +```sh +$ npm i --save node-shikimori +``` +#### yarn +```sh +$ yarn add node-shikimori +``` + +## Использование +Чтобы использовать библиотеку, просто импортируйте её в свой проект и создайте экземпляр `client`. Затем вы можете использовать различные методы, предостовляемые `client` для доступа к Шикимори API. + +```typescript +import { client } from 'node-shikimori'; + +const shikimori = client(); + +const result = await shikimori.animes.byId({ + id: 1 +}); + +console.log(result); +``` + +## Авторизация +Более подробную информацию можно посмотреть в [Official Shikimori OAuth2 Guide](https://shikimori.me/oauth). + +1. **Зарегистрируйте ваше [приложение Шикимори ](https://shikimori.me/oauth/applications):** Это предоставит вам `client_id` и `client_secret` которые вам понадобятся для использования OAuth2. + +2. **Редирект пользователя на эндпоинт авторизации в Шикимори:** Этот эндпоинт предложит пользователю предоставить вашему приложению доступ к своим ресурсам. После того, как пользователь предоставит доступ, Шикимори перенаправит его обратно в ваше приложение с *кодом авторизации*. +``` +https://shikimori.me/oauth/authorize?client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&response_type=code&scope= +``` + +3. **Получить токен доступа:** Вашему приложению потребуется обменять *код авторизации* на `AccessToken`. Шикимори вернет вам токен доступа, который ваше приложение можно использовать для доступа к ограниченным ресурсам/эндпоинтам. +```ts +import { auth } from 'node-shikimori'; + +const { getAccessToken } = auth({ + clientId: 'YOUR_CLIENT_ID', + clientSecret: 'YOUR_CLIENT_SECTET', +}); + +const accessToken = await getAccessToken('YOUR_AUTH_CODE'); +``` + +4. **Использование токена доступа для доступа к защищенным ресурсам:** В заключении, ваше приложение может использовать токен доступа для доступа к защищенным ресурсам пользователя. Обязательно корректно обрабатывайте любые ошибки или токены с истекшим сроком действия. +```ts +const shikimori = client(); +shikimori.setAccessToken(YOUR_ACCESS_TOKEN); + +const currentUser = await shikimori.users.whoami(); +console.log(currentUser) +``` + +5.**Обновление токена доступа:** Токены доступа имеют ограниченный срок действия **1 день**, поэтому вашему приложению потребуется периодически обновлять их, чтобы поддерживать доступ к ресурсам пользователя. Для этого используйте функцию `refreshAccessToken` с токеном обновления в качестве параметра. Шикимори вернет новый токен доступа и токен обновления, которые ваше приложение может использовать для продолжения доступа к ресурсам пользователя. +```ts +const newAccessToken = await refreshAccessToken('YOUR_REFRESH_TOKEN'); +``` + +## Соавторство +Вклад в библиотеку всегда приветствуется и поощряется. + +## Лицензия +Эта библиотека лицензирована по MIT. Детальнее можно ознакомиться в [LICENSE](https://github.com/Capster/node-shikimori/LICENSE). From b0790a3966bf05585ea8634603d4331f5088caf0 Mon Sep 17 00:00:00 2001 From: Maxim Date: Tue, 27 Feb 2024 17:56:30 +0300 Subject: [PATCH 2/3] Format README.ru.md --- README.ru.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.ru.md b/README.ru.md index d5bf879..9aa91a0 100644 --- a/README.ru.md +++ b/README.ru.md @@ -1,6 +1,6 @@ -# Оболочка Шикимори API +# Обертка над Shikimori API -Библиотека TypeScript, предоставляющая простую и удобную оболочку для доступа к Шикимори API. Библиотека поддерживает все эндпоинты и типы API Шикимори, а также предоставляет функциональность авторизации OAuth2 с использованием токена доступа. +Библиотека TypeScript, предоставляющая простую и удобную оболочку для доступа к [Shikimori API](https://shikimori.me/api/doc). Библиотека поддерживает все эндпоинты и типы Shikimori API, а также предоставляет функциональность по OAuth2-авторизации с использованием access-токена. [![Build Status](https://img.shields.io/github/actions/workflow/status/Capster/node-shikimori/run-build.yml)](https://github.com/Capster/node-shikimori/actions/) [![npm version](https://img.shields.io/npm/v/node-shikimori.svg)](https://www.npmjs.com/package/node-shikimori) @@ -9,16 +9,16 @@ ## Особенности -- **Поддержка всех эндпоинтов Шикимори API**: Эта библиотека поддерживает все эндпоинты (включая v1 и v2) Шикимори API, включая аниме, мангу, персонажей, пользователей и многое другое. -- **Поддежка авторизации**: Библиотека обеспечивает поддержку авторизации с использованием токена доступа. -- **Строгая типизация**: В библиотеке все методы типизированы, что упрощает интеграцию с другими проектами, использующими Typescript. +- **Поддержка всех эндпоинтов Shikimori API**: Данная библиотека поддерживает все эндпоинты (v1 и v2) Shikimori API, включая доступ к базе с аниме, мангой, персонажами, пользователями и другими ресурсами. +- **Поддержка авторизации**: Библиотека обеспечивает поддержку авторизации с использованием access-токена. +- **Строгая типизация**: Все методы библиотеки типизированы, что упрощает интеграцию с другими проектами, использующими Typescript. - **Отсутствие зависимостей**: Эта библиотека не имеет внешних зависимостей, что делает её легковесной и простой для установки. -- **Простое в использовании API**: Оболочка API разработана так, чтобы быть простой и удобной в использовании, с интуитивно понятными методами и параметрами, которые позволяют легко и быстро приступить к работе. +- **Простое в использовании API**: Обертка над API разработана таким образом, чтобы быть простой и удобной в использовании, с интуитивно понятными методами и параметрами, которые позволяют работать с API "из коробки". ## Документация -Посмотреть node-shikimori [документацию API](https://capster.github.io/node-shikimori) сгенерированную с помощью TypeDoc. +Смотрите [документацию библиотеки](https://capster.github.io/node-shikimori) сгенерированную с помощью TypeDoc. -Посмотреть [официальную документацию](https://shikimori.me/api/doc) для Шикимори API. +Смотрите [официальную документацию](https://shikimori.me/api/doc) для Shikimori API. ## Установка #### npm @@ -31,7 +31,7 @@ $ yarn add node-shikimori ``` ## Использование -Чтобы использовать библиотеку, просто импортируйте её в свой проект и создайте экземпляр `client`. Затем вы можете использовать различные методы, предостовляемые `client` для доступа к Шикимори API. +Чтобы использовать библиотеку, просто импортируйте её в свой проект и создайте экземпляр `client`. После этого вы сможете использовать различные методы, предоставляемые `client` для доступа к Shikimori API. ```typescript import { client } from 'node-shikimori'; @@ -48,14 +48,14 @@ console.log(result); ## Авторизация Более подробную информацию можно посмотреть в [Official Shikimori OAuth2 Guide](https://shikimori.me/oauth). -1. **Зарегистрируйте ваше [приложение Шикимори ](https://shikimori.me/oauth/applications):** Это предоставит вам `client_id` и `client_secret` которые вам понадобятся для использования OAuth2. +1. **Зарегистрируйте ваше [приложение Шикимори](https://shikimori.me/oauth/applications):** После регистрации вам будут выданы `client_id` и `client_secret` которые понадобятся для использования OAuth2. -2. **Редирект пользователя на эндпоинт авторизации в Шикимори:** Этот эндпоинт предложит пользователю предоставить вашему приложению доступ к своим ресурсам. После того, как пользователь предоставит доступ, Шикимори перенаправит его обратно в ваше приложение с *кодом авторизации*. +2. **Перенаправьте пользователя на эндпоинт авторизации в Шикимори:** Этот эндпоинт предложит ему предоставить вашему приложению доступ к своим данным. После того, как пользователь предоставит доступ, Шикимори перенаправит его обратно в ваше приложение с *кодом авторизации*. ``` https://shikimori.me/oauth/authorize?client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&response_type=code&scope= ``` -3. **Получить токен доступа:** Вашему приложению потребуется обменять *код авторизации* на `AccessToken`. Шикимори вернет вам токен доступа, который ваше приложение можно использовать для доступа к ограниченным ресурсам/эндпоинтам. +3. **Получите токен доступа:** Вашему приложению потребуется обменять *код авторизации* на `AccessToken`. Шикимори вернет вам персональный токен доступа, который ваше приложение может использовать для доступа к ограниченным ресурсам/эндпоинтам. ```ts import { auth } from 'node-shikimori'; @@ -67,7 +67,7 @@ const { getAccessToken } = auth({ const accessToken = await getAccessToken('YOUR_AUTH_CODE'); ``` -4. **Использование токена доступа для доступа к защищенным ресурсам:** В заключении, ваше приложение может использовать токен доступа для доступа к защищенным ресурсам пользователя. Обязательно корректно обрабатывайте любые ошибки или токены с истекшим сроком действия. +4. **Используйте `AccessToken` для доступа к защищенным ресурсам:** Теперь ваше приложение может использовать `AccessToken` для доступа к защищенным ресурсам пользователя. Обязательно корректно обрабатывайте любые ошибки, а также токены с истекшим сроком действия. ```ts const shikimori = client(); shikimori.setAccessToken(YOUR_ACCESS_TOKEN); @@ -76,13 +76,13 @@ const currentUser = await shikimori.users.whoami(); console.log(currentUser) ``` -5.**Обновление токена доступа:** Токены доступа имеют ограниченный срок действия **1 день**, поэтому вашему приложению потребуется периодически обновлять их, чтобы поддерживать доступ к ресурсам пользователя. Для этого используйте функцию `refreshAccessToken` с токеном обновления в качестве параметра. Шикимори вернет новый токен доступа и токен обновления, которые ваше приложение может использовать для продолжения доступа к ресурсам пользователя. +5.**Обновление токена доступа:** Токены доступа имеют ограниченный срок действия в **1 день**, поэтому вашему приложению потребуется периодически обновлять их, чтобы поддерживать доступ пользователя к ресурсам. Для этого используйте функцию `refreshAccessToken` с refresh-токеном в качестве параметра. Шикимори вернет новый токен доступа и токен обновления, которые ваше приложение может использовать для продолжения предоставления доступа к защищенным ресурсам. ```ts const newAccessToken = await refreshAccessToken('YOUR_REFRESH_TOKEN'); ``` ## Соавторство -Вклад в библиотеку всегда приветствуется и поощряется. +Вклад в библиотеку всегда приветствуется и поощряется. Для этого откройте Issue с описанием проблемы или Pull Request с необходимыми изменениями ## Лицензия -Эта библиотека лицензирована по MIT. Детальнее можно ознакомиться в [LICENSE](https://github.com/Capster/node-shikimori/LICENSE). +Данная библиотека распространяется по лицензии MIT. Подробнее можно ознакомиться в [LICENSE](https://github.com/Capster/node-shikimori/LICENSE). From 3871f26bfde5117e6245670a82d41514cf1de9fe Mon Sep 17 00:00:00 2001 From: Maxim Date: Tue, 27 Feb 2024 18:17:53 +0300 Subject: [PATCH 3/3] Suggest Russian translation in README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0268d37..58b4ce6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Shikimori API Wrapper +[Русская версия](https://github.com/Capster/node-shikimori/blob/master/README.ru.md) + A TypeScript library that provides a simple and easy-to-use wrapper for accessing the [Shikimori API](https://shikimori.me/api/doc). The library supports all endpoints and types of the Shikimori API and provides OAuth2 authorization functionality using an access token. [![Build Status](https://img.shields.io/github/actions/workflow/status/Capster/node-shikimori/run-build.yml)](https://github.com/Capster/node-shikimori/actions/) @@ -85,4 +87,4 @@ const newAccessToken = await refreshAccessToken('YOUR_REFRESH_TOKEN'); Contributions to this library are always welcome and highly encouraged. ## License -This library is licensed under MIT. Please see [LICENSE](https://github.com/Capster/node-shikimori/LICENSE) for licensing details. +This library is licensed under MIT. Please see [LICENSE](https://github.com/Capster/node-shikimori/blob/master/LICENSE) for licensing details.