node-vkapi ·
$ npm install node-vkapi --only=prod
Refer to README_EN.md for english docs.
Возможности
- Простой вызов всех существующих методов API ВКонтакте
- Авторизация пользователя и получение токена
- Прямая авторизация через официальное приложение (Android, iPhone)
- Авторизация через Web-версию сайта
- Загрузка файлов любого типа
- Разгадывание капчи с помощью стороннего сервиса
Пример использования
const vkapi = new ; // Получение некоторых данных о пользователе id1// и вывод их в консоль. vkapi ;
Документация
new VkApi([options])
options<Object>
Опции экземпляра VkApi
Options
Свойства объекта options и их значения по умолчанию.
accessToken: null // <String> Ключ доступа apiVersion: '5.68' // <String> Версия API appId: null // <Number> ID приложения ВКонтакте appSecret: null // <String> Секретный ключ приложения ВКонтакте captchaApiKey: null // <String> API ключ сервиса по распознаванию капчи captchaService: 'anti-captcha' // <String> Сервис по распознаванию капчи (anti-captcha, antigate, rucaptcha) userLogin: null // <String> Логин пользователя userPassword: null // <String> Пароль пользователя baseDelay: 334 // <Number> Базовая задержка между вызовами API (334 составляет ~1/3 секунды и используется для авторизации через токен пользователя)
vkapi.authorize(params)
params<Object>
Параметры запроса- Returns
Promise<AuthResponseObject>
Осуществляет прямую авторизацию, т.е. авторизует пользователя в одном из официальных приложений ВКонтакте, используя логин и пароль пользователя.
Params
Параметры запроса на прямую авторизацию и их значения по умолчанию.
client: 'android' // <String> Клиент (android, iphone) login: vkapioptionsuserLogin // <String> Логин пользователя password: vkapioptionsuserPassword // <String> Пароль пользователя scope: MAX_SCOPE // <String> Строка разрешений. По умолчанию будут запрашиваться все возможные разрешения
vkapi.call(method[, params])
method<String>
Название методаparams<Object>
Параметры метода- Returns
Promise<Any>
Вызывает методы API ВКонтакте.
При вызове метода
execute
будет возвращён полный ответ от ВКонтакте. Подробнее
vkapi.logIn(params)
params<Object>
Параметры запроса- Returns
Promise<AuthResponseObject>
Авторизует пользователя через мобильную Web-версию ВКонтакте.
При этом есть возможность использовать ID неофициального приложения.
Params
Параметры запроса на авторизацию через Web-версию и их значения по умолчанию.
appId: vkapioptionsappId // <Number> ID приложения ВКонтакте login: vkapioptionsuserLogin // <String> Логин пользователя password: vkapioptionsuserPassword // <String> Пароль пользователя scope: MAX_SCOPE // <String> Строка разрешений. По умолчанию будут запрашиваться все возможные разрешения
vkapi.upload(type, files[, params[, afterUploadParams]])
type<String>
Тип загрузкиfiles<Any>
Файл(ы) к загрузкеparams<Object>
Параметры запроса на получение URL для загрузки. ПодробнееafterUploadParams<Object>
Параметры запроса на сохранение загруженного файла. Подробнее- Returns
Promise<Any>
Выполняет загрузку файлов во ВКонтакте.
Не забывайте, что для загрузки файлов вы должны иметь соответствующие разрешения.
Типы загрузок
audio
Аудиозаписьcover
Обложка сообществаdocument
Документdocument_pm
Документ в личное сообщениеdocument_wall
Документ на стенуphoto_album
Фотография(ии) в альбомphoto_main
Главная фотографияphoto_market
Фотография для товараphoto_market_album
Фотография для подборки товаровphoto_pm
Фотография в личное сообщениеphoto_wall
Фотография на стенуvideo
Видеозапись
Files
Переменная files может быть как единственным файлом к загрузке, так и массивом файлов (только для типа photo_album). Каждый отдельный файл должен представлять собой FS Stream либо объект, который содержит следующие свойства:
Свойство | Тип | |
---|---|---|
content | Buffer | Содержимое файла |
name | String | Имя файла |
Как загружать граффити и аудио-сообщения?
Для того, чтобы загрузить граффити или аудио-сообщение, нужно указать document
как тип загрузки, а в параметрах запроса params
указать тип загружаемого документа: для граффити — это graffiti
, для аудио-сообщения — audio_message
.
// Простейший пример загрузки аудио-сообщения const fs = ;const vkapi = new accessToken: 'your_access_token' ; vkapi ;
Пример загрузки файла
Примеры загрузки файлов вы можете найти в папке examples.
Формат ответа на запрос авторизации
Функции vkapi.authorize()
и vkapi.logIn()
возвращают ответ в одинаковом формате.
access_token // <String> Ключ доступа expires_in // <Number> Время в секундах, через которое ключ станет недействительным user_id // <Number> ID пользователя ?email // <String> E-mail пользователя. Включается в ответ, если был запрошен в параметре "scope" при авторизации}