This package has been deprecated

Author message:

This package is no longer maintained.

node-vkapi

3.0.7 • Public • Published

node-vkapi · npm npm

$ npm install node-vkapi --only=prod

Refer to README_EN.md for english docs.

Возможности

  • Простой вызов всех существующих методов API ВКонтакте
  • Авторизация пользователя и получение токена
    1. Прямая авторизация через официальное приложение (Android, iPhone)
    2. Авторизация через 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

Параметры запроса на прямую авторизацию и их значения по умолчанию.

{
  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)

Авторизует пользователя через мобильную 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>

Выполняет загрузку файлов во ВКонтакте.

Не забывайте, что для загрузки файлов вы должны иметь соответствующие разрешения.

Типы загрузок

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" при авторизации
}

Package Sidebar

Install

npm i node-vkapi

Weekly Downloads

48

Version

3.0.7

License

none

Unpacked Size

59.7 kB

Total Files

16

Last publish

Collaborators

  • olnaz