Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alasaijir/svkapi
Small library to explore VK API
https://github.com/alasaijir/svkapi
api apis oop python python3 vk vk-bot vkontakte vkontakte-api
Last synced: about 1 month ago
JSON representation
Small library to explore VK API
- Host: GitHub
- URL: https://github.com/alasaijir/svkapi
- Owner: alasaijir
- Created: 2020-05-12T17:20:56.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-06-14T15:32:47.000Z (over 4 years ago)
- Last Synced: 2024-04-24T15:10:06.089Z (7 months ago)
- Topics: api, apis, oop, python, python3, vk, vk-bot, vkontakte, vkontakte-api
- Language: Python
- Homepage:
- Size: 66.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# sVKAPI - Easy lib for studying vk api
Еще одна библиотека для работы с VK API.
Для установки нужно написать в консоль `pip install svkapi`, а затем импортировать:`from sVKAPI.core import *`
## Инициализация
Для начала нужно создать объект для работы с api: `apiObj = API()`,
после чего необходимо СРАЗУ пройти аутентификацию. Сделать это можно тремя способами:
1. `apiObj.authenticate(username = "...", password = "...")` - идентификация через логин и пароль https запросами. После
успешной авторизации будет сохранена сессия и токен.
2. `apiObj.authenticate(token = "...")` или `apiObj.setToken("...")` - прямая передача токена в обьект.
**Важно!** Если вы проходите авторизацию не в первый раз (т.е существуют файлы токена/сессии), то любые параметры,
переданные в `authenticate(...)` будут проигнорированны.
3. `apiObj.authenticate()` - загрузка автоматически сохраненного токена из файла._Обратите внимание:_ Объект `apiObj` персистентный, т.е сохраняет данные авторизации (токен или сессия)
в файл после выхода из программы (в зашифрованном виде). Таким образом пройдя авторизацию один раз, все последующие можно проходить
3-им способом.
**Важно!** Используя **1-ый** метод, либо **3-ий** посредством **1-го**, вам будет
недоступна секция _Messages_, и, следовательно, _Long Poll_.
## Работа с API
### Стандартные запросы
Для стандартного запроса необходимо вызвать `apiObj.call(_)`, в который
передать название метода, и необходимые для него параметры (**кроме токена и версии API**), например:`apiObj.call("friends.get", user_id = 175486984, fields = "city")`.
В качестве ответа мы получим словарь из всех друзей пользователя _id175486984_,
содержащий информацию о городе.Со всеми методами VK API можно ознакомиться [тут](https://vk.com/dev/methods).
### Long Poll
Метод `apiObj.longPoll()` посылает запрос на сервер и ждет, пока сервер не вернет какие-либо события. Отправленные сервером данные
мы получаем в виде словаря ([подробнее](https://vk.com/dev/using_longpoll)), который можем обработать.
Пример использования:```
from sVKAPI.core import *apiObj = API()
apiObj.authenticate(token = "...")while True:
updates = apiObj.longPoll()
print(updates)# Ответ
#
# [[4, 747386, 17, 175486984, 1589673104, 'Hello', {'title': ' ... '}, {}, 2100133870]]
#
# означает, что в 1589673104 (timestamp) нам пришло сообщение с ID 747386 и флагами 17 от 175486984,
# в котором содержится Hello
```
_**Для заметок**_
Если проблемы с авторизацией, попробуйте удалить файлы .enc