npm.io
1.1.0 • Published 8 years ago

vk-api-glory

Licence
MIT
Version
1.1.0
Deps
1
Size
88 kB
Vulns
1
Weekly
0

vk-api-glory – простая библиотека с минимальным списком зависимостей для работы с API VK . Возможность использования с промисами или асинхронными функциями ES6 .

Зависимости

Node.js >= 8.0.0.

Установка

npm install --save vk-api-glory

В библиотеке присутствует несколько несвязанных классов для работы с VK.

Class: Auth

Класс для авторизации и получения токена пользователя.

Constructor: new Auth(options)
new Auth(options);
Auth options

Опции авторизации

Параметр Тип Описание
username string email или телефон для авторизации во вконтакте.
password string Пароль пользователя.
clientId string Идентификатор Вашего приложения.
clientSecret string Секретный ключ Вашего приложения.
scope string Права доступа.
apiVersion string, number Версия API для использования. Стандартная версия: 5.69.
Auth.implicit()

Явная авторизация для Standelone приложений. Dyrty way авторизация т.к. имитируется авторизация через браузер. Этот тип авторизации используется для недоверенных приложений(приложений которые не прошли проверку командой вк).

obj
Параметр Тип Описание
accessToken string Ключ доступа к API.
userId number Id пользователя для которого была выполнена авторизация.
expires number Время жизни ключа в секундах.
Auth.direct()

Прямая авторизация, через API, для одобренных или официальных приложений.

Пример использования
import { Auth } from 'vk-api-glory'

let auth = new Auth({
    username: 'phone',
    password: 'pass',
    clientId: 'client_id',
    clientSecret: 'client_secret'
});

(async _ => {
  let { accessToken } = await auth.implicit();
})();

Class: Api

Constructor: new Api(options)
new Api(options);
Api options
Параметр Тип Описание Значение по умолчанию
accessToken string Ключ доступа. undefined
apiVersion string, number Версия работы API. 5.69
lang string Язык возвращаемых результатов. ru
captchaHandler function Обработка капчи. undefined
Api.call(methodName, params)
  • methodName <string> Список методов
  • params <object> Параметры для соответствующего метода API. Есть возможность переопределить параметры заданные в инстанции объекта
  • promise Данные вызываемого метода
Api.setAccessToken(accessToken)
  • accessToken <string>
Api.setApiVersion(apiVersion)
  • apiVersion <string|number>
Api.setCaptchaHandler(handler)
  • handler <function>

Функции обработки капчи. В установленную функцию передается ссылка на изображение капчи и ожидается Promise.resolve с кодом капчи. Пример:

function handler(imageSrc) {
  return new Promise(resolve => {
    let key = getCaptchaKeyByImage(imageSrc);
    return resolve(key);
  })
}
Пример использования Api
import { Api } from 'vk-api-glory'

const accessToken = 'token';

function captchaHandler(imgSrc) {
  return new Promise(async resolve => {
    let key = await getCaptchaKeyByImage(imgSrc);
    return resolve(key);
  })
}

let vkApi = new Api({ accessToken, captchaHandler });

vkApi.call('users.get')
  .then(data => console.log(data))
  .catch(error => console.log(error));

Todo

  • Переписать промисы на асинхронные функции;
  • Добавить middleware;
  • Добавить очереди с возможностью запуска параллельных потоков;
  • Добавить тесты.

Keywords