Vk-io: ¿Cómo empezar?

Creado en 24 feb. 2019  ·  9Comentarios  ·  Fuente: negezor/vk-io

Tengo "nodo v11.10.0" + MacOS 10.14.
Desafortunadamente, no puedo iniciar VK-io debido a estos errores:

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

...

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

Así que intenté algo más, pero nuevamente no tuve éxito con ese enfoque:

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

¿Qué hago mal?

Comentario más útil

La importación solo funciona con preprocesamiento MJS, TypeScript o Babel. Aquí debe utilizar Common JS:

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

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

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

Todos 9 comentarios

La importación solo funciona con preprocesamiento MJS, TypeScript o Babel. Aquí debe utilizar Common JS:

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

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

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

negezor, gracias! ¡Funciona!
¿Sabes por qué tengo tal error?

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

Estoy usando una versión actualizada de vk-io.

¿Quizás el hecho es que el objeto vk se usa al principio?
Ejemplo 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');
});

¿Hay algún pequeño ejemplo de cómo obtener mensajes de la pared de un grupo?
Soy nuevo en el servicio VK, por lo que me parece un poco confuso.
¿Qué método de autorización debo elegir? ¿Qué es el appId y el appSecret? Necesito acceder a un grupo, no a una aplicación. ¿Dónde puedo pasar la clave privada de mi grupo?
Tengo datos de inicio de sesión / contraseña y la clave privada del grupo. ¿Qué debería hacer después?

Puede obtener publicaciones de un grupo utilizando el método wall.get , pero no está disponible para el token de grupo. Si hay un token, debe usarlo solo en las opciones.

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

La colección funciona con un token de usuario o aplicación. Pero solo si el método lo admite.

¡Gracias!
¿Qué es AppToken y dónde obtengo UserToken? ¿No es lo mismo que la clave privada del grupo?

Token de aplicación (token de servicio) . Token de usuario disponible mediante autorización directa o independiente. Todos estos son tokens, tienen sus permisos para llamar a métodos.

¿Qué token (y método de autenticación) necesito para realizar solicitudes de wall.get?

Mi código de muestra ahora es:

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

Pero cada vez que recibo el siguiente mensaje:
Code №5 - User authorization failed: method is unavailable with group auth.

Parece que no puedo simplemente hacer una simple solicitud de wall.get :)

La documentación del método indica que no está disponible para el token de grupo. Necesito un token de servicio o usuario, ya escribí sobre esto anteriormente.
image

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

AndreiSoroka picture AndreiSoroka  ·  6Comentarios

zardoy picture zardoy  ·  18Comentarios

T1MOXA picture T1MOXA  ·  29Comentarios

Saiv46 picture Saiv46  ·  9Comentarios

ogmishanya picture ogmishanya  ·  4Comentarios