Vk-io: Como começar?

Criado em 24 fev. 2019  ·  9Comentários  ·  Fonte: negezor/vk-io

Tenho "node v11.10.0" + MacOS 10.14.
Infelizmente, não consigo iniciar o VK-io devido a estes erros:

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

...

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

Então, tentei outra coisa, mas novamente não tive sucesso com essa abordagem:

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

O que eu faço de errado?

Comentários muito úteis

A importação funciona apenas com pré-processamento MJS, TypeScript ou Babel. Aqui você precisa usar JS comum:

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

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

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

Todos 9 comentários

A importação funciona apenas com pré-processamento MJS, TypeScript ou Babel. Aqui você precisa usar JS comum:

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

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

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

negezor, obrigado! Funciona!
Você sabe por que eu tenho esse erro?

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

Estou usando uma versão atualizada do vk-io.

Talvez o fato seja que o objeto vk seja usado no início?
Exemplo de uso.

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');
});

Existe algum pequeno exemplo de como obter mensagens de uma parede de um grupo?
Eu sou novo no serviço VK, então parece um pouco confuso para mim.
Qual método de autorização devo escolher? O que é appId e appSecret? Preciso acessar um grupo, não um aplicativo. Onde posso passar a chave privada do meu grupo?
Tenho dados de login / senha e a chave privada para o grupo. O que eu devo fazer a seguir?

Você pode obter postagens de um grupo usando o método wall.get , mas não está disponível para o token de grupo. Se houver um token, você precisará usá-lo apenas nas opções.

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

A coleção funciona com um token de usuário ou aplicativo. Mas apenas se o método for compatível.

Obrigado!
O que é AppToken e onde obtenho o UserToken? Não é o mesmo que a chave privada do grupo?

Token de aplicativo (token de serviço) . Token de usuário disponível por meio de autorização autônoma ou direta. Todos são tokens e têm permissão para chamar métodos.

Qual token (e método de autenticação) eu preciso para fazer solicitações wall.get?

Meu código de amostra agora é:

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

Mas toda vez que recebo uma mensagem a seguir:
Code №5 - User authorization failed: method is unavailable with group auth.

Parece que não posso simplesmente fazer um pedido wall.get simples :)

A documentação do método indica que ele não está disponível para o token de grupo. Precisa de um token de serviço ou usuário, já escrevi sobre isso acima.
image

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

alexey2baranov picture alexey2baranov  ·  8Comentários

Bobrovskih picture Bobrovskih  ·  3Comentários

nitreojs picture nitreojs  ·  3Comentários

Saiv46 picture Saiv46  ·  9Comentários

Pacmard picture Pacmard  ·  3Comentários