node-vkapi v3.0.7
node-vkapi ·

$ npm install node-vkapi --only=prod
Refer to README_EN.md for english docs.
Возможности
- Простой вызов всех существующих методов API ВКонтакте
- Авторизация пользователя и получение токена
- Прямая авторизация через официальное приложение (Android, iPhone)
- Авторизация через 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<Object>
Параметры запроса- Returns
Promise<AuthResponseObject>
Осуществляет прямую авторизацию, т.е. авторизует пользователя в одном из официальных приложений ВКонтакте, используя логин и пароль пользователя.
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)
params<Object>
Параметры запроса- Returns
Promise<AuthResponseObject>
Авторизует пользователя через мобильную 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>
Выполняет загрузку файлов во ВКонтакте.
Не забывайте, что для загрузки файлов вы должны иметь соответствующие разрешения.
Типы загрузок
audio
Аудиозаписьcover
Обложка сообществаdocument
Документdocument_pm
Документ в личное сообщениеdocument_wall
Документ на стенуphoto_album
Фотография(ии) в альбомphoto_main
Главная фотографияphoto_market
Фотография для товараphoto_market_album
Фотография для подборки товаровphoto_pm
Фотография в личное сообщениеphoto_wall
Фотография на стенуvideo
Видеозапись
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" при авторизации
}
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago