Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python.
Работать будем в PyCharm. Если он у Вас не установлен, то можете скачать его для своей операционной системы с web-страницы https://www.jetbrains.com/ru-ru/pycharm/download/#section=windows
Далее по пунктам. Итак предположим, что у Вас уже открыт PyCharm и есть пустой файл расширения py. Выглядеть должно примерно так, как на рисунке 1
Действие №1 Установите библиотеку request
- Кликните на пункт file(слева вверху)
- Выберите пункт settings
- В открывшемся окне выберите Project: <имя_вашего_проекта>
- В выпадающем списке выберите Python Interpretator
- Справа в списке два раза кликните на pip
В открывшемся окне найдите библиотеку requests и установите ее, нажав на кнопку Install Package
Импортируйте библиотеку request к себе в проект
Действие №2 Создание приложения Vk
В этой статье мы рассмотрим приложение типа standalone
- Перейдите по ссылке https://vk.com/editapp?act=create
- Напишите название Вашего приложения
- Выберите Standalone-приложение
- Остальное можно не заполнять кликните на кнопку "Подключить приложение"
- Вам на телефон придет сообщение с кодом о регистрации приложения, подтвердите регистрацию
- После подтверждения перейдите по ссылке https://vk.com/apps?act=manage Здесь будут показаны все ваши приложения
- Выберите приложение и кликните Редактировать
- Перейдите в настройки
- В пункте состояние выберите "Включено и видно всем"
- Сохраните изменения
Действие №3 Получение токена API
- Измените URL, представленный ниже под собственные нужды
- В параметре client_id убираете 5490057 и ставите ID своего приложения
- В параметре scope ставите те методы, с которыми вы будете работать, методы разделяете через запятую. Список методов тут: https://dev.vk.com/api/getting-started
Пример URL:
ID - 9999999
Методы: friends, messages, groups
https://oauth.vk.com/authorize?client_id=9999999&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=friends&messages&groups&response_type=token&v=5.131
- После того, как Вы сформировали URL вбейте его в адресную строку браузера и кликните Enter
- Если все было выполнено верно, то Вам в адресной строке браузера выпадет токен
Токен из URLa
access_token=643989e26rgtrgcc26c41796a9dc5c3919e012b6d4739eaf863428f7c9845eaa6cc5d34bc2c33e56609e
Обратите внимание, что токен находится между access_token= и &expires
Действие №4 Работа с библиотекой requests и API Vk
- создайте переменную, в которой сохраните токен
- У каждого метода Vk есть параметры, параметры методов можно смотреть тут: https://dev.vk.com/method. Мы будем работать с получением списка друзей пользователя - а это метод friends.get - https://dev.vk.com/method/friends.get. У данного метода несколько параметров. Создадим переменную, в которой будем хранить это. Тип данных переменной param - словарь {}
Мы добавили три параметра, которые есть у метода friends.get и каждому из них присвоили значения. Стоит помнить, что у метода Vk есть обязательные и необязательные параметры. В примере мы опускаем не обязательные параметры.
- Формируем запрос в python. Кстати, проверить правильность выполнения запроса можно прямо на странице метода Vk (для friends.get тут: https://dev.vk.com/method/friends.get)
- Но перейдем в python. Добавим еще одну переменную, в которой будем хранить применяемый метод
И создадим запрос из python
Где метод get - формирует get-запрос к серверу, параметр url - это путь запроса, method - это то, какой метод применяем, params - это словарь с параметрами метода vk.
- Для того, чтобы увидеть результат добавим еще одну строчку
- Запускаем скрипт
Ответ о нам приходит в формате Json
Результат:
Мы можем обратиться к данным, которые к нам приходят по ключам.
- Например, для получения количества друзей:
- Для вывода списка друзей в столбик, можем применить следующий код
- Мы можем добавить еще поля в параметрах, чтобы нам выводились не только id друзей
Результат:
На этом все!
Примеры работ можете посмотреть тут:
Добавление в друзья пользователей из разных сообществ - https://github.com/denisamirov/vk_friends_from_groups/blob/main/main.py
Как поздравлять друзей из аккаунта Вконтакте с Днем Рождения даже не заходя в Vk - https://vk.com/id530354969 (где-то в Ленте)