3.0.7 • Published 7 years ago

node-vkapi v3.0.7

Weekly downloads
32
License
-
Repository
-
Last release
7 years ago

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 либо объект, который содержит следующие свойства:

СвойствоТип
contentBufferСодержимое файла
nameStringИмя файла

Как загружать граффити и аудио-сообщения?

Для того, чтобы загрузить граффити или аудио-сообщение, нужно указать 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" при авторизации
}
3.0.7

7 years ago

3.0.6

7 years ago

3.0.5

8 years ago

3.0.4

8 years ago

3.0.3

8 years ago

3.0.2

8 years ago

3.0.1

8 years ago

3.0.0

8 years ago

2.1.0

9 years ago

2.0.4

9 years ago

2.0.3

9 years ago

2.0.2

9 years ago

2.0.1

9 years ago

2.0.0

9 years ago

1.2.7

9 years ago

1.2.6

9 years ago

1.2.5

9 years ago

1.2.4

9 years ago

1.2.3

9 years ago

1.2.2

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.9

9 years ago

1.1.8

10 years ago

1.1.7

10 years ago

1.1.6

10 years ago

1.1.5

10 years ago

1.1.4

10 years ago

1.1.3

10 years ago

1.1.2

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago