Skip to content

Библиотека для работы с OAuth сервисом Яндекс ID

License

Notifications You must be signed in to change notification settings

LulzLoL231/YandexID

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Яндекс ID (OAuth) API

Библиотека для работы с API Яндекс ID (OAuth) для Python 3.10+. Поддерживает асинхронную работу.

Документация API

Установка

  1. С помощью pip:

    pip install yandexid
  2. С помощью pip+git:

    pip install https://github.com/LulzLoL231/yandexid.git
  3. Из исходников:

    git clone https://github.com/LulzLoL231/yandexid
    pip install ./yandexid

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

  1. Получение OAuth токена:

    from yandexid import YandexOAuth
    
    yandex_oauth = YandexOAuth(
        client_id='<client_id>',
        client_secret='<client_secret>',
        redirect_uri='<redirect_uri>'
    )
    auth_url = yandex_oauth.get_authorization_url()
    # Тут нужно перейти по ссылке auth_url и получить код авторизации
    token = yandex_oauth.get_token_from_code('<code>')

    Возвращает объект Token с информацией о OAuth токене. Формат объекта совпадает с форматом ответа из API Яндекс ID.

  2. Получение информации о пользователе:

    from yandexid import YandexID
    
    yandex_id = YandexID('<oauth_token>')
    user_info = yandex_id.get_user_info_json()

    Возвращает объект User с информацией о пользователе. Формат объекта совпадает с форматом ответа из API Яндекс ID.

Асинхронная работа

Чтобы использовать асинхронность, используйте классы AsyncYandexOAuth и AsyncYandexID:

from yandexid import AsyncYandexID

yandex_id = AsyncYandexID('<oauth_token>')
user_info = await yandex_id.get_user_info_json()

Название методов полностью совпадает с названием синхронных методов, не забывайте использовать await перед вызовом асинхронных методов.

Логотипы Яндекс ID и название сервиса "Яндекс ID" принадлежат Яндексу.