Π― ΠΏΡΡΠ°ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ oauth Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ github, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Β«ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΒ», Β«ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈΒ» ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ, Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ pygithub Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΠΆΠ΅.
ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΡΡΠ»ΠΊΡ: http://pygithub.readthedocs.io/en/latest/apis.html
PS. Π Π°Π½ΡΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ oauth ΠΈ ΠΌΠΎΠ³ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΡΠΎΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠ½Π΅ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° Π²Π΅Π±-Ρ ΡΠΊΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠ»ΡΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ github.
Π₯ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΡΠΈΠΌ.
ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ»Π° Π±Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Π° :+1:
ΠΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² #1021, Π½ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ/ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, @sfdye , ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΡΡΠΎ?
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ auth_token:
`
installs_url = " https://github.com/api/v3/app/installations "
installs_response = request.get(installations_url, headers=headers, auth=CustomJWTAuth())
installs_response.raise_for_status()
for item in installations_response.json():
installation_id = item['id']
#print (installation_id)
access_tokens_url = "https://github.com/api/v3/app/installations/{installation_id}/access_tokens".format(
installation_id=installation_id)
access_tokens_response = requests.post(access_tokens_url, headers=headers, auth=CustomJWTAuth())
access_tokens_response.raise_for_status()
#print (access_tokens_response.json())
token = access_tokens_response.json()['token']
#print (token)
#return github3.login(token=token)
return token
raise Exception("No app installations")
`
ΠΠΎΡΠ΅ΡΠΈΡΠ΅ https://pypi.org/project/github-bot-api/ , ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ PyGithub Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ GitHub ΠΈ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. (ΠΡΠΊΠ°Π· ΠΎΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ: Ρ ΡΠ²Π»ΡΡΡΡ Π°Π²ΡΠΎΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°)
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π₯ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΡΠΈΠΌ.