node-vkapi v3.0.7
node-vkapi · 
 
$ npm install node-vkapi --only=prodRefer to README_EN.md for english docs.
Возможности
- Простой вызов всех существующих методов API ВКонтакте
 - Авторизация пользователя и получение токена
- Прямая авторизация через официальное приложение (Android, iPhone)
 - Авторизация через Web-версию сайта
 
 - Загрузка файлов любого типа
 - Разгадывание капчи с помощью стороннего сервиса
 
Пример использования
const vkapi = new (require('node-vkapi'))();
// Получение некоторых данных о пользователе id1
// и вывод их в консоль.
vkapi.call('users.get', {
  user_ids: '1',
  fields:   'verified,sex'
})
  .then(users => console.dir(users[0]))
  .catch(error => console.error(error));Документация
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:    vkapi.options.userLogin,    // <String> Логин пользователя
  password: vkapi.options.userPassword, // <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:    vkapi.options.appId,        // <Number> ID приложения ВКонтакте
  login:    vkapi.options.userLogin,    // <String> Логин пользователя
  password: vkapi.options.userPassword, // <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    = require('fs');
const vkapi = new (require('node-vkapi'))({ accessToken: 'your_access_token' });
vkapi.upload('document', fs.createReadStream('./path/to/audiofile.mp3'), { type: 'audio_message' })
  .then(response => console.dir(response))
  .catch(error => console.error(error));Пример загрузки файла
Примеры загрузки файлов вы можете найти в папке examples.
Формат ответа на запрос авторизации
Функции vkapi.authorize() и vkapi.logIn() возвращают ответ в одинаковом формате.
{
  access_token // <String> Ключ доступа
  expires_in   // <Number> Время в секундах, через которое ключ станет недействительным
  user_id      // <Number> ID пользователя
  ?email       // <String> E-mail пользователя. Включается в ответ, если был запрошен в параметре "scope" при авторизации
}8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago