Vk-io: Как начать?

Созданный на 24 февр. 2019  ·  9Комментарии  ·  Источник: negezor/vk-io

Имею "узел v11.10.0" + MacOS 10.14.
К сожалению, я не могу запустить VK-io из-за следующих ошибок:

import VK from 'vk-io';
       ^^
SyntaxError: Unexpected identifier

...

import { VK } from 'vk-io';
       ^
SyntaxError: Unexpected token {

Итак, я попробовал что-то еще, но снова у меня не получилось с этим подходом:

const vk = require('vk-io');
vk.token = "asdfasdfadsf";
const collectStream = vk.collect.wall.get({ owner_id: -86529522 });

// Error:
const collectStream = vk.collect.wall.get({
                                 ^
TypeError: Cannot read property 'wall' of undefined

Что я делаю не так?

Самый полезный комментарий

Импорт работает только с предварительной обработкой MJS, TypeScript или Babel. Здесь вам нужно использовать Common JS:

const { VK } = require('vk-io');

const vk = new VK();
vk.token = 'asdfasdfadsf';

const collectStream = vk.collect.wall.get({ owner_id: -86529522 });

Все 9 Комментарий

Импорт работает только с предварительной обработкой MJS, TypeScript или Babel. Здесь вам нужно использовать Common JS:

const { VK } = require('vk-io');

const vk = new VK();
vk.token = 'asdfasdfadsf';

const collectStream = vk.collect.wall.get({ owner_id: -86529522 });

негезор, спасибо! Оно работает!
Вы случайно не знаете, почему у меня такая ошибка?

vk.collectStream.on('error', console.error);
                 ^
TypeError: Cannot read property 'on' of undefined

Я использую последнюю версию vk-io.

Может дело в том, что в начале используется объект vk?
Пример использования.

const collectStream = vk.collect.wall.get({ owner_id: -86529522 });

collectStream.on('error', console.error);

collectStream.on('data', payload => {
  console.log('Data', payload.items);
});
collectStream.on('end', () => {
    console.log('Data received');
});

Есть ли какой-нибудь небольшой пример того, как получать сообщения со стены группы?
Я новичок в сервисе ВКонтакте, поэтому меня это немного сбивает с толку.
Какой способ авторизации выбрать? Что такое appId и appSecret? Мне нужен доступ к группе, а не к приложению. Где я могу передать закрытый ключ моей группы?
У меня есть данные логина / пароля и приватный ключ к группе. Что я должен делать дальше?

Вы можете получать сообщения из группы с помощью метода

const group = new VK({
  token: 'GROUP_TOKEN'
});

const app = new VK({
  token: 'APP_TOKEN_OR_USER_TOKEN'
});

// Method
app.api.wall.get({
  owner_id: -86529522 // Group ID
}); // => Promise

// Or collect all
app.collect.wall.get({
  owner_id: -86529522
}); // => CollectStream

Коллекция работает с токеном пользователя или приложения. Но только если метод поддерживает.

Спасибо!
Что такое AppToken и где я могу получить UserToken? Разве это не то же самое, что и закрытый ключ группы?

Токен приложения (токен службы) . Токен пользователя доступен через автономную или прямую авторизацию. Это все токены, у которых есть права на вызов методов.

Какой токен (и метод аутентификации) мне нужен для выполнения запросов wall.get?

Теперь мой пример кода:

const { VK } = require("vk-io");
const vk = new VK({ token: "...a long group API token placed here..." });
vk.api.wall.get({ owner_id: -86529522 });

Но каждый раз получаю следующее сообщение:
Code №5 - User authorization failed: method is unavailable with group auth.

Похоже, я не могу просто сделать простой запрос wall.get :)

В документации метода указано, что он недоступен для токена группы. Нужен сервисный или пользовательский токен, об этом я уже писал выше.
image

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

T1MOXA picture T1MOXA  ·  29Комментарии

SOS
helix-team picture helix-team  ·  4Комментарии

alexey2baranov picture alexey2baranov  ·  8Комментарии

nitreojs picture nitreojs  ·  3Комментарии

Pacmard picture Pacmard  ·  3Комментарии