Git Product home page Git Product logo

node-vkapi's Introduction

node-vkapi · npm npm

$ npm install node-vkapi --only=prod

Возможности

  • Простой вызов всех существующих методов 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> Пароль пользователя
}

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

node-vkapi's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.