Простая обертка для 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': 'Дуров'}]
Нет, нельзя, начиная с апреля 2017 года.
- Авторизуйтесь ВКонтакте.
- Создайте новое приложение.
- Введите желаемое название.
- Выберите опцию «Standalone-приложение»
- Нажмите «Подключить приложение».
- Введите код, полученный в СМС-сообщении.
- В новом созданном приложении откройте пункт «Настройки» в меню слева.
APP ID — семизначное число, записанное в поле «ID приложения».
В качестве токена вы можете использовать сервисный ключ доступа, однако в таком случае доступ у API будет такой же, как у неавторизованного пользователя. Чтобы доступ у API соответствовал доступу авторизованного пользователя, необходимо получить соответствующий токен — и Обертка получит его самостоятельно, если вы укажите в качестве аргументов конструктора API
e-mail (email
), пароль (password
) и APP ID (app_id
).
Можно одновременно указать access_token
и аргументы для авторизации — в таком случае access_token
будет перезапрошен Оберткой при первом неуспешном вызове метода API. Максимальное число перезапросов токенов регулируется аргументом max_token_requests
.
- В приложении можно использовать инстанс API только для одного APP ID / access token'а (т.к. класс
API
является Singleton'ом). - Существуют также частотные и количественные ограничения самого API ВКонтакте. Частотные ограничения Обертка контролирует сама — ограничение на максимальное число запросов в секунду контролируется аргументом
max_token_requests
конструктораAPI
. - Не поддерживаются аккаунты с 2-факторной авторизацией (см. «Подтверждение входа»).
По умолчанию — 5.68. Вы можете указать версию самостоятельно через аргумент v
конструктора API
.
Параметры конструктора API
:
Имя | Назначение | Значение по умолчанию |
---|---|---|
access_token | access token | None |
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 согласно документации.