Skip to content

bryzgaloff/vk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Простая обертка для API ВКонтакте (далее — Обертка) для Python 2&3, основано на dimka665/vk.

Требования

Пример использования

$ git clone https://github.com/bryzgaloff/vk.git

$ pip install requests

$ python
>>> from vk import API

# если у вас есть access token:
>>> access_token = '<your access token>'
>>> api = API(access_token)

# если у вас нет access token'а, но есть APP ID
>>> api = API(
...     email='your.email@domain.org',
...     password='your_password',
...     app_id='your_app_id',
... )

# если нет ни того, ни другого, смотрите раздел FAQ

>>> api.users.get(user_ids=1)
[{'id': 1, 'first_name': 'Павел', 'last_name': 'Дуров'}]

FAQ

Можно ли использовать API без токена?

Нет, нельзя, начиная с апреля 2017 года.

Как получить токен или APP ID?

  1. Авторизуйтесь ВКонтакте.
  2. Создайте новое приложение.
    1. Введите желаемое название.
    2. Выберите опцию «Standalone-приложение»
    3. Нажмите «Подключить приложение».
    4. Введите код, полученный в СМС-сообщении.
  3. В новом созданном приложении откройте пункт «Настройки» в меню слева.

APP ID — семизначное число, записанное в поле «ID приложения».

В качестве токена вы можете использовать сервисный ключ доступа, однако в таком случае доступ у API будет такой же, как у неавторизованного пользователя. Чтобы доступ у API соответствовал доступу авторизованного пользователя, необходимо получить соответствующий токен — и Обертка получит его самостоятельно, если вы укажите в качестве аргументов конструктора API e-mail (email), пароль (password) и APP ID (app_id).

Можно одновременно указать access_token и аргументы для авторизации — в таком случае access_token будет перезапрошен Оберткой при первом неуспешном вызове метода API. Максимальное число перезапросов токенов регулируется аргументом max_token_requests.

Существуют ли у Обертки какие-то ограничения?

  1. В приложении можно использовать инстанс API только для одного APP ID / access token'а (т.к. класс API является Singleton'ом).
  2. Существуют также частотные и количественные ограничения самого API ВКонтакте. Частотные ограничения Обертка контролирует сама — ограничение на максимальное число запросов в секунду контролируется аргументом max_token_requests конструктора API.
  3. Не поддерживаются аккаунты с 2-факторной авторизацией (см. «Подтверждение входа»).

Какая версия API используется?

По умолчанию — 5.68. Вы можете указать версию самостоятельно через аргумент v конструктора API.

Документация

Параметры конструктора API:

Имя Назначение Значение по умолчанию
access_token access token None
email E-mail пользователя для авторизации None
password Пароль пользователя для авторизации None
app_id APP ID None
scope Битовая маска настроек доступа приложения 'offline'
timeout Таймаут для запросов в секудах 30
max_requests_per_seconds Максимально допустимое число запросов в секунду 3
max_token_requests Максимальное число попыток для перезапроса токена 2
**method_default_args kwargs для запросов к API по умолчанию

Дальнейшее взаимодействие с API сводится к формированию запросов к API согласно документации.