добавление скрипта для аутентификации, скрипт сам перезапишет (или вставит) токен в .env файл
This commit is contained in:
parent
899b069d22
commit
4a04f7eda4
63
vk-auth.py
Normal file
63
vk-auth.py
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
import vk_api
|
||||||
|
import getpass
|
||||||
|
|
||||||
|
|
||||||
|
def write_token(token: str):
|
||||||
|
out = ""
|
||||||
|
|
||||||
|
is_found = False
|
||||||
|
try:
|
||||||
|
with open('.env', 'r') as f:
|
||||||
|
lines = f.readlines()
|
||||||
|
for line in lines:
|
||||||
|
if line.startswith('VK_ACCESS_TOKEN='):
|
||||||
|
out += f"VK_ACCESS_TOKEN=\"{token}\"\n"
|
||||||
|
is_found = True
|
||||||
|
else:
|
||||||
|
out += line
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if not is_found:
|
||||||
|
out += f"\nVK_ACCESS_TOKEN=\"{token}\"\n"
|
||||||
|
|
||||||
|
with open('.env', 'w') as f:
|
||||||
|
f.write(out)
|
||||||
|
|
||||||
|
|
||||||
|
def auth_handler():
|
||||||
|
""" При двухфакторной аутентификации вызывается эта функция.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Код двухфакторной аутентификации
|
||||||
|
key = input("Enter authentication code: ")
|
||||||
|
# Если: True - сохранить, False - не сохранять.
|
||||||
|
remember_device = True
|
||||||
|
|
||||||
|
return key, remember_device
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
login, password = input("Login >> "), getpass.getpass()
|
||||||
|
vk_session = vk_api.VkApi(
|
||||||
|
login, password,
|
||||||
|
# offline, friends, photos, status, messages
|
||||||
|
scope=(1 << 16) | (1 << 1) | (1 << 2) | (1 << 10) | (1 << 12),
|
||||||
|
app_id=2685278, # kate mobile
|
||||||
|
api_version='5.131',
|
||||||
|
auth_handler=auth_handler
|
||||||
|
)
|
||||||
|
|
||||||
|
try:
|
||||||
|
vk_session.auth()
|
||||||
|
print(f"Result: {vk_session.token}")
|
||||||
|
print("Rewrite access token in .env file...")
|
||||||
|
write_token(vk_session.token['access_token'])
|
||||||
|
print("Success!")
|
||||||
|
except vk_api.AuthError as error_msg:
|
||||||
|
print(error_msg)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user