yaidng

Yandex ID oauth API wrapper


Keywords
yandex, oauth, api, wrapper, yandexid, yandex-id, python, yandex-api, yandex-oauth
License
MIT
Install
pip install yaidng==24.1.0

Documentation

ЯндСкс 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" ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ ЯндСксу.