Π―Π½Π΄Π΅ΠΊΡ ID (OAuth) API
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ API Π―Π½Π΄Π΅ΠΊΡ ID (OAuth) Π΄Π»Ρ Python 3.10+. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
-
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ pip:
pip install yandexid
-
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ pip+git:
pip install https://github.com/LulzLoL231/yandexid.git
-
ΠΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²:
git clone https://github.com/LulzLoL231/yandexid pip install ./yandexid
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
-
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ 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. -
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅:
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" ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ Π―Π½Π΄Π΅ΠΊΡΡ.