Skip to content

sedlab/node-vk-api

Repository files navigation

node-vk-api

Библиотека для работы с API ВКонтакте.

Установка

npm i sedlab/node-vk-api#latest или yarn add sedlab/node-vk-api#latest

Использование

ES6

import { OAuth, Request } from "node-vk-api";

ES5

const { OAuth, Request } = require("node-vk-api");

Прямая авторизация

Прямая авторизация — это авторизация по логину и паролю. Такой тип авторизации доступен маленькому кругу приложений, чаще всего это официальные приложения ВКонтакте.

При использовании прямой авторизации вы можете получить токен с полным доступом к аккаунту.

Авторизация:

import { OAuth } from "node-vk-api";

// В библиотеке используется id и секретный ключ от android официального клиента VK с получением всех прав. 
// Значения можно поменять указав все необходимые поля: new OAuth("5.131", "https://api.vk.com/method/", "all", "2274003", "hHbZxrka2uZ6jB1inYsH");

const oauth = new OAuth();

const username = "";
const password = "";

oauth.login(username, password)
  .then((data) => {
    console.log({ data });
  })
  .catch((error) => {
    console.error({ error });
  });

2FA:

import { OAuth } from "node-vk-api";

const oauth = new OAuth();

// Если настроена двухфакторная аутентификация, то необходимо будет пройти еще одну проверку.

// Отправка кода подтверждения на номер телефона.
const sid = ""; // Параметр "validation_sid" из ошибки.
oauth.validatePhone(sid)
  .then((data) => {
    console.log({ data });
  })
  .catch((error) => {
    console.error({ error });
  });

// После получения кода необходимо переотправить первый запрос с параметром "code".
const code = ""; // Код полученый из SMS.
oauth.login(username, password, code)
  .then((data) => {
    console.log({ data });
  })
  .catch((error) => {
    console.error({ error });
  });

Обработка капчи:

import { OAuth } from "node-vk-api";

const oauth = new OAuth();

// Отправка решения капчи.
const captchaSid = "";
const captchaKey = "";
oauth.login(username, password, undefined, captchaSid, captchaKey)
  .then((data) => {
    console.log({ data });
  })
  .catch((error) => {
    console.error({ error });
  });

Запросы к API Methods.

Для долгосрочной поддержки и простоты использования можно использовать любые методы api, включая незадокументированные на https://dev.vk.com/method.

Пример:

import { Request } from "node-vk-api";

const TOKEN = ""; // Параметр "access_token".

// Помимо токена можно передавать другие поля: 
// new Request("TOKEN", "5.131", "https://api.vk.com/method/", "VKAndroidApp/8.17-15401 (Android 7.1.2; SDK 25; armeabi-v7a; google G011A; zh; 1280x720)");

const vk = new Request(TOKEN);

// Возвращает найденные аудиозаписи.
vk.request("audio.search", { q: "Надо ли — ЕГОР КРИД", count: 1 })
  .then((data) => {
    console.log("audio.search");
    console.log({ data });
  })
  .catch((error) => {
    console.error("audio.search");
    console.error({ error });
  });

About

Библиотека для работы с API ВКонтакте.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published