Socket
Socket
Sign inDemoInstall

node-vkapi

Package Overview
Dependencies
30
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    node-vkapi

Node.js SDK for Vkontakte API (vk.com)


Version published
Weekly downloads
13
increased by8.33%
Maintainers
1
Install size
3.93 MB
Created
Weekly downloads
 

Readme

Source

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

Keywords

FAQs

Last updated on 03 Mar 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc