Python
- 4 ответа
- 0 вопросов
4
Вклад в тег
# coding: utf-8
from __future__ import print_function
from __future__ import unicode_literals
import os
import sys
from oauthlib.oauth2.rfc6749.clients import WebApplicationClient
from requests_oauthlib import OAuth2Session
# VK не присылает scope после получения токена. Чтобы oauthlib не
# выбрасывала исключение, нужно поставить этот флажок:
os.environ.setdefault('OAUTHLIB_RELAX_TOKEN_SCOPE', '1')
if sys.version_info.major < 3:
# PY2
input = raw_input
# Эти данные Вы должны получить после создания приложения
client_id = 'сюда подставляем ID'
client_secret = 'а сюда секретный ключ'
authorization_base_url = 'https://oauth.vk.com/authorize'
token_url = 'https://oauth.vk.com/access_token'
api_client = WebApplicationClient(
client_id=client_id,
default_token_placement='query'
)
vk = OAuth2Session(scope='messages', client=api_client)
# получаем адрес для авторизации приложения
authorization_url, state = vk.authorization_url(authorization_base_url)
print('Пройдите по указанному адресу и авторизуйтесь:', authorization_url)
auth_resp = input('Введите адрес, на который вы были перенаправлены после '
'прохождения авторизации:')
auth_resp = auth_resp.replace('#', '?') # иначе код сам не найдется
vk.fetch_token(token_url, client_secret=client_secret,
authorization_response=auth_resp)
# так можно получит список диалогов
response = vk.get('https://api.vk.com/method/messages.getDialogs',
params={'v': '5.28'}).json()
print(response.json())