2FA auth exception
barbashin-andrey opened this issue · 2 comments
barbashin-andrey commented
Описание
При авторизации с использованием 2FA возникает исключение (видимо, связанное с изменением ответа от API)
Окружение
vk_api: 11.9.9
Python: 3.11.5
Консольный вывод
Traceback (most recent call last):
File "C:\Users\PC\Desktop\project\project\project.py", line 11, in <module>
do_shit(args.login, args.password, args.group_id, args.channel)
File "C:\Users\PC\Desktop\project\project\functions.py", line 268, in do_shit
proccess_input(login, password, group_id, channel)
File "C:\Users\PC\Desktop\project\project\functions.py", line 37, in proccess_input
vk_session.auth()
File "C:\Users\PC\AppData\Local\Programs\Python\Python311\Lib\site-packages\vk_api\vk_api.py", line 187, in auth
self._auth_cookies(reauth=reauth)
File "C:\Users\PC\AppData\Local\Programs\Python\Python311\Lib\site-packages\vk_api\vk_api.py", line 207, in _auth_cookies
self._vk_login()
File "C:\Users\PC\AppData\Local\Programs\Python\Python311\Lib\site-packages\vk_api\vk_api.py", line 330, in _vk_login
self._pass_twofactor(response)
File "C:\Users\PC\AppData\Local\Programs\Python\Python311\Lib\site-packages\vk_api\vk_api.py", line 356, in _pass_twofactor
code, remember_device = self.error_handlers[TWOFACTOR_CODE]()
^^^^^^^^^^^^^^^^^^^^^
ValueError: too many values to unpack (expected 2)
Как исправить
В модуле vk_api.py на 356 строке заменяем:
code, remember_device = self.error_handlers[TWOFACTOR_CODE]()
на
code = self.error_handlers[TWOFACTOR_CODE]()
и на 362 строке убираем:
'remember': int(remember_device),
т.е. словарь values на 358 строке будет выглядеть так:
values = {
'al': '1',
'code': code,
'hash': auth_hash
}
После этого авторизация с 2FA работает в штатном режиме
barbashin-andrey commented
P.S.: ничего всё равно не работает =) Теперь просто выбивает vk_api.exceptions.AuthError: Unknown API auth error при попытке использовать какой-либо метод API
Danspers commented
А не пробовал использовать не релизную версию, а прямо с GitHub?
Суть в том, что с момента релиза 11.9.9 прошло почти 1,5 года и за это время появились изменения. В том числе и в процедуре авторизации. Посмотри историю коммитов.