@AllocBoe

Как авторизироваться в ВК по API?

Заранее говорю что решение нужно именно через API, а не либу :\

Запрос представленный ниже работает так, что редиректит меня на ссылку авторизации - https://oauth.vk.com/blank.html и далее идёт редирект на страницу в URL которой содержится фрагмент access_token

сам URL
https://oauth.vk.com/blank.html#access_token=vk1.a.L9W4S.......


Как я могу его извлечь в итоге? вариант с селениумом не очень разумным считаю, был бы рад ответам

сам запрос на получение токена
async def get_code():
    async with aiohttp.ClientSession() as session:
        async with session.get('https://oauth.vk.com/authorize', data={
            'client_id': APP_ID,
            'redirect_uri': REDIRECT_URI,
            "display": "page",
            'scope': 'friends',
            "response_type": "token"
        }) as response:
            if response.status == 200:
                return response
            return None


Решение в лоб не работает
async def get_code():
    async with aiohttp.ClientSession() as session:
        async with session.get('https://oauth.vk.com/authorize', data={
            'client_id': APP_ID,
            'redirect_uri': REDIRECT_URI,
            "display": "page",
            'scope': 'friends',
            "response_type": "code"
        }) as response:
            redirect_url = str(response.url)
            parsed_url = urlparse(redirect_url).fragment
            fragment = parse_qs(parsed_url)
            access_token = fragment.get('code', [None])[0]
            return access_token
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы