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