Answer the question
In order to leave comments, you need to log in
Answer the question
In order to leave comments, you need to log in
We create a standalone application here: vk.com/editapp?act=create
Then, in the application settings, we look at the ID and the security key and paste them into the script below.
# 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())
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question