Vk-io: Comment commencer?

Créé le 24 févr. 2019  ·  9Commentaires  ·  Source: negezor/vk-io

J'ai "nœud v11.10.0" + MacOS 10.14.
Malheureusement, je ne peux pas démarrer VK-io à cause de ces erreurs :

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

...

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

J'ai donc essayé autre chose mais encore une fois, je n'ai pas réussi avec cette approche:

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'est-ce que je fais de mal ?

Commentaire le plus utile

L'import fonctionne uniquement avec le prétraitement MJS, TypeScript ou Babel. Ici, vous devez utiliser Common JS :

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

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

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

Tous les 9 commentaires

L'import fonctionne uniquement avec le prétraitement MJS, TypeScript ou Babel. Ici, vous devez utiliser Common JS :

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

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

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

négezor, merci ! Ça marche!
Savez-vous pourquoi j'ai une telle erreur?

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

J'utilise la version à jour de vk-io.

Peut-être que le fait est que l'objet vk est utilisé au début ?
Exemple d'utilisation.

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

Y a-t-il un petit exemple sur la façon d'obtenir des messages d'un mur d'un groupe ?
Je suis nouveau sur le service VK, donc cela me semble un peu déroutant.
Quelle méthode d'autorisation dois-je choisir ? Qu'est-ce que l'appId et l'appSecret ? J'ai besoin d'accéder à un groupe et non à une application. Où puis-je transmettre la clé privée de mon groupe ?
J'ai des données de connexion/mot de passe et la clé privée du groupe. Que devrais-je faire ensuite?

Vous pouvez obtenir des publications d'un groupe à l'aide de la méthode wall.get , mais elle n'est pas disponible pour le jeton de groupe. S'il y a un jeton, vous devez l'utiliser uniquement dans les options.

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 collection fonctionne avec un jeton d'utilisateur ou d'application. Mais seulement si la méthode prend en charge.

Merci!
Qu'est-ce que l'AppToken et où j'obtiens UserToken ? N'est-ce pas la même chose que la clé privée du groupe ?

Jeton d'application (Jeton de service) . Jeton utilisateur disponible via une autorisation autonome ou directe. Ce sont tous des jetons, ils ont leurs autorisations pour appeler des méthodes.

De quel jeton (et méthode d'authentification) ai-je besoin pour effectuer des requêtes wall.get ?

Mon exemple de code est maintenant :

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

Mais à chaque fois j'obtiens le message suivant :
Code №5 - User authorization failed: method is unavailable with group auth.

On dirait que je ne peux pas faire une simple demande de wall.get :)

La documentation de la méthode indique qu'elle n'est pas disponible pour le jeton de groupe. Besoin d'un jeton de service ou d'utilisateur, j'ai déjà écrit à ce sujet ci-dessus.
image

Cette page vous a été utile?
0 / 5 - 0 notes