Skip to content

Commit 14f20de

Browse files
committed
Add docs
1 parent 2fd6d72 commit 14f20de

5 files changed

Lines changed: 275 additions & 25 deletions

File tree

doc/VkApi.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# class VkApi(object):
2+
3+
## Methods defined here:
4+
### \_\_init\_\_
5+
6+
- login (default: `None`) — Логин ВКонтакте (лучше использовать номер телефона для автоматического обхода проверки безопасности)
7+
- password (default: `None`) — Пароль ВКонтакте (если пароль не передан, то будет попытка использовать сохраненные данные)
8+
- token (default: `None`; type: `str`) — access_token
9+
- auth_handler (default: `None`) — Функция для обработки двухфакторной аутентификации, должна возвращать строку с кодом и булевое значение, означающее, стоит ли запомнить это устройство, для прохождения аутентификации.
10+
- captcha_handler (default: `None`) — Функция для обработки капчи
11+
- config (default: `<class 'jconfig.jconfig.Config'>`) — Класс для сохранения настроек
12+
- config_filename (default: `'vk_config.v2.json'`) — Расположение config файла
13+
- api_version (default: `'5.63'`; type: `str`) — Версия API
14+
- app_id (default: `2895443`; type: `int`) — Standalone-приложение
15+
- scope (default: `33554431`; types: `int`, `str`) — Запрашиваемые права (можно передать строкой или числом)
16+
- client_secret (default: `None`) — Защищенный ключ приложения для серверной авторизации ([https://vk.com/dev/auth_server](https://vk.com/dev/auth_server))
17+
18+
### api_login
19+
Получение токена через Desktop приложение
20+
21+
### auth
22+
Аутентификация
23+
- reauth (default: `False`) — Позволяет переавторизиваться, игнорируя сохраненные куки и токен
24+
- token_only (default: `False`) — Включает оптимальную стратегию аутентификации, если необходим только access_token Например если сохраненные куки не валидны, но токен валиден, то аутентификация пройдет успешно При token_only=False, сначала проверяется валидность куки. Если кука не будет валидна, то будет произведена попытка аутетификации с паролем. Тогда если пароль не верен или пароль не передан, то аутентификация закончится с ошибкой. Если вы не делаете запросы к веб версии сайта используя куки, то лучше использовать token_only=True
25+
26+
### auth_handler
27+
Обработчик двухфакторной аутентификации
28+
29+
### captcha_handler
30+
Обработчик капчи ([http://vk.com/dev/captcha_error](http://vk.com/dev/captcha_error))
31+
- captcha — объект исключения `Captcha`
32+
33+
### check_sid
34+
Проверка Cookies remixsid на валидность
35+
36+
### check_token
37+
Проверка access_token на валидность
38+
39+
### get_api
40+
Возвращает VkApiMethod(self) Позволяет обращаться к методам API как к обычным классам. Например vk.wall.get(...)
41+
42+
### http_handler
43+
Обработчик ошибок соединения
44+
- error — исключение
45+
46+
### method
47+
Вызов метода API
48+
- method (type: `str`) — имя метода
49+
- values (default: `None`; type: `dict`) — параметры
50+
- captcha_sid (default: `None`) — id капчи
51+
- captcha_key (default: `None`; type: `str`) — ответ капчи
52+
- raw (default: `False`; type: `bool`) — при False возвращает `response['response']` при True возвращает `response` (может понадобиться для метода execute для получения execute_errors)
53+
54+
### need_validation_handler
55+
Обработчик проверки безопасности при запросе API ([http://vk.com/dev/need_validation](http://vk.com/dev/need_validation))
56+
- error — исключение
57+
58+
### security_check
59+
Функция для обхода проверки безопасности (запрос номера телефона)
60+
- response (default: `None`) — ответ предыдущего запроса, если есть
61+
62+
### server_auth
63+
Серверная авторизация
64+
65+
### too_many_rps_handler
66+
Обработчик ошибки "Слишком много запросов в секунду". Ждет пол секунды и пробудет отправить запрос заново
67+
- error — исключение
68+
69+
### twofactor
70+
Двухфакторная аутентификация
71+
- auth_response — страница с приглашением к аутентификации
72+
73+
### vk_login
74+
Авторизация ВКонтакте с получением cookies remixsid
75+
- captcha_sid (default: `None`) — id капчи
76+
- captcha_key (default: `None`; type: `str`) — ответ капчи
77+
78+
## Data and other attributes defined here:
79+
**RPS_DELAY** = 0.34
80+

doc/VkTools.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# class VkTools(object):
2+
Содержит некоторые воспомогательные функции, которые могут понадобиться при использовании API
3+
4+
## Methods defined here:
5+
### \_\_init\_\_
6+
7+
- vk — объект VkApi
8+
9+
### get_all
10+
Использовать только если нужно загрузить все объекты в память. Eсли вы можете обрабатывать объекты по частям, то лучше использовать get_all_iter Например если вы записываете объекты в БД, то нет смысла загружать все данные в память
11+
12+
### get_all_iter
13+
Получить все элементы. Работает в методах, где в ответе есть count и items или users. За один запрос получает max_count * 25 элементов
14+
- method (type: `str`) — имя метода
15+
- max_count (type: `int`) — максимальное количество элементов, которое можно получить за один запрос
16+
- values (default: `None`; type: `dict`) — параметры
17+
- key (default: `'items'`; type: `str`) — ключ элементов, которые нужно получить
18+
- limit (default: `None`; type: `int`) — ограничение на кол-во получаемых элементов, но может прийти больше
19+
20+
### get_all_slow
21+
Использовать только если нужно загрузить все объекты в память. Eсли вы можете обрабатывать объекты по частям, то лучше использовать get_all_slow_iter Например если вы записываете объекты в БД, то нет смысла загружать все данные в память
22+
23+
### get_all_slow_iter
24+
Получить все элементы (без использования execute) Работает в методах, где в ответе есть count и items или users
25+
- method (type: `str`) — имя метода
26+
- max_count (type: `int`) — максимальное количество элементов, которое можно получить за один запрос
27+
- values (default: `None`; type: `dict`) — параметры
28+
- key (default: `'items'`; type: `str`) — ключ элементов, которые нужно получить
29+
- limit (default: `None`; type: `int`) — ограничение на кол-во получаемых элементов, но может прийти больше
30+

doc/VkUpload.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# class VkUpload(object):
2+
3+
## Methods defined here:
4+
### \_\_init\_\_
5+
6+
- vk — объект VkApi
7+
8+
### audio
9+
Загрузка аудио
10+
- audio — путь к аудиофайлу или file-like объект
11+
- artist — исполнитель
12+
- title — название
13+
14+
### document
15+
Загрузка документа
16+
- doc — путь к документу или file-like объект
17+
- title (default: `None`) — название документа
18+
- tags (default: `None`) — метки для поиска
19+
- group_id (default: `None`) — идентификатор сообщества (если загрузка идет в группу)
20+
- to_wall (default: `False`) — загрузить на стену
21+
22+
### document_wall
23+
Загрузка документа в папку Отправленные, для последующей отправки документа на стену или личным сообщением.
24+
- doc — путь к документу или file-like объект
25+
- title (default: `None`) — название документа
26+
- tags (default: `None`) — метки для поиска
27+
- group_id (default: `None`) — идентификатор сообщества (если загрузка идет в группу)
28+
29+
### photo
30+
Загрузка изображений в альбом пользователя
31+
- photos (types: `str`, `list`) — путь к изображению(ям) или file-like объект(ы)
32+
- album_id — идентификатор альбома
33+
- latitude (default: `None`) — географическая широта, заданная в градусах (от -90 до 90)
34+
- longitude (default: `None`) — географическая долгота, заданная в градусах (от -180 до 180)
35+
- caption (default: `None`) — текст описания изображения
36+
- description (default: `None`) — текст описания альбома
37+
- group_id (default: `None`) — идентификатор сообщества (если загрузка идет в группу)
38+
39+
### photo_chat
40+
Загрузка и смена обложки в беседе
41+
- photo — путь к изображению или file-like объект
42+
- chat_id — ID беседы
43+
44+
### photo_messages
45+
Загрузка изображений в сообщения
46+
- photos (types: `str`, `list`) — путь к изображению(ям) или file-like объект(ы)
47+
48+
### photo_profile
49+
Загрузка изображения профиля
50+
- photo — путь к изображению или file-like объект
51+
- owner_id (default: `None`) — идентификатор сообщества или текущего пользователя. По умолчанию загрузка идет в профиль текущего пользователя. При отрицательном значении загрузка идет в группу.
52+
- crop_x (default: `None`) — координата X верхнего правого угла миниатюры.
53+
- crop_y (default: `None`) — координата Y верхнего правого угла миниатюры.
54+
- crop_width (default: `None`) — сторона квадрата миниатюры. При передаче всех crop_* для фотографии также будет подготовлена квадратная миниатюра.
55+
56+
### photo_wall
57+
Загрузка изображений на стену пользователя или в группу
58+
- photos (types: `str`, `list`) — путь к изображению(ям) или file-like объект(ы)
59+
- user_id (default: `None`) — идентификатор пользователя
60+
- group_id (default: `None`) — идентификатор сообщества (если загрузка идет в группу)
61+
62+
### video
63+
Загрузка видео
64+
- video_file (default: `None`; types: `object`, `str`) — путь до файла или file-like объект.
65+
- link (default: `None`; type: `str`) — url для встраивания видео с внешнего сайта, например, с Youtube.
66+
- name (default: `None`; type: `str`) — название видеофайла
67+
- description (default: `None`; type: `str`) — описание видеофайла
68+
- is_private (default: `False`; type: `bool`) — указывается 1, если видео загружается для отправки личным сообщением. После загрузки с этим параметром видеозапись не будет отображаться в списке видеозаписей пользователя и не будет доступна другим пользователям по ее идентификатору.
69+
- wallpost (default: `False`; type: `bool`) — требуется ли после сохранения опубликовать запись с видео на стене.
70+
- group_id (default: `None`; type: `int`) — идентификатор сообщества, в которое будет сохранен видеофайл. По умолчанию файл сохраняется на страницу текущего пользователя.
71+
- album_id (default: `None`; type: `int`) — идентификатор альбома, в который будет загружен видео файл.
72+
- privacy_view (default: `None`) — настройки приватности просмотра видеозаписи в специальном формате. ([https://vk.com/dev/objects/privacy](https://vk.com/dev/objects/privacy)) Приватность доступна для видеозаписей, которые пользователь загрузил в профиль. (список слов, разделенных через запятую)
73+
- privacy_comment (default: `None`) — настройки приватности комментирования видеозаписи в специальном формате. ([https://vk.com/dev/objects/privacy](https://vk.com/dev/objects/privacy))
74+
- no_comments (default: `False`; type: `bool`) — 1 — закрыть комментарии (для видео из сообществ).
75+
- repeat (default: `False`; type: `bool`) — зацикливание воспроизведения видеозаписи. флаг.
76+

vk_api/tools.py

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,20 @@ def __init__(self, vk):
3131

3232
def get_all_iter(self, method, max_count, values=None, key='items',
3333
limit=None):
34-
""" Получить все элементы
35-
Работает в методах, где в ответе есть count и items или users
34+
""" Получить все элементы.
35+
Работает в методах, где в ответе есть count и items или users.
3636
За один запрос получает max_count * 25 элементов
3737
38-
:param method: метод
38+
:param method: имя метода
3939
:type method: str
4040
41+
:param max_count: максимальное количество элементов, которое можно
42+
получить за один запрос
43+
:type max_count: int
44+
4145
:param values: параметры
4246
:type values: dict
4347
44-
:param max_count: максимальное количество элементов,
45-
которое можно получить за один раз
46-
:type max_count: int
47-
4848
:param key: ключ элементов, которые нужно получить
4949
:type key: str
5050
@@ -96,16 +96,25 @@ def get_all(self, method, max_count, values=None, key='items', limit=None):
9696

9797
def get_all_slow_iter(self, method, max_count, values=None, key='items',
9898
limit=None):
99-
""" Получить все элементы
99+
""" Получить все элементы (без использования execute)
100100
Работает в методах, где в ответе есть count и items или users
101101
102-
:param method: метод
102+
:param method: имя метода
103+
:type method: str
104+
105+
:param max_count: максимальное количество элементов, которое можно
106+
получить за один запрос
107+
:type max_count: int
108+
103109
:param values: параметры
104-
:param max_count: максимальное количество элементов,
105-
которое можно получить за один раз
110+
:type values: dict
111+
106112
:param key: ключ элементов, которые нужно получить
113+
:type key: str
114+
107115
:param limit: ограничение на кол-во получаемых элементов,
108116
но может прийти больше
117+
:type limit: int
109118
"""
110119

111120
values = values.copy() if values else {}

0 commit comments

Comments
 (0)