Vk-io: Wie man anfängt?

Erstellt am 24. Feb. 2019  ·  9Kommentare  ·  Quelle: negezor/vk-io

Ich habe "node v11.10.0" + MacOS 10.14.
Leider kann ich VK-io aufgrund dieser Fehler nicht starten:

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

...

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

Also habe ich etwas anderes versucht, aber wieder ist mir dieser Ansatz nicht gelungen:

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

Was mache ich falsch?

Hilfreichster Kommentar

Der Import funktioniert nur mit MJS-, TypeScript- oder Babel-Vorverarbeitung. Hier müssen Sie Common JS verwenden:

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

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

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

Alle 9 Kommentare

Der Import funktioniert nur mit MJS-, TypeScript- oder Babel-Vorverarbeitung. Hier müssen Sie Common JS verwenden:

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

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

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

Neger, danke! Es klappt!
Weißt du zufällig, warum ich so einen Fehler habe?

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

Ich verwende die aktuelle Version von vk-io.

Vielleicht liegt es daran, dass das vk-Objekt am Anfang verwendet wird?
Anwendungsbeispiel.

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

Gibt es ein kleines Beispiel dafür, wie man Nachrichten von einer Pinnwand einer Gruppe erhält?
Ich bin neu beim VK-Service, daher sieht es für mich etwas verwirrend aus.
Welche Autorisierungsmethode soll ich wählen? Was ist die appId und das appSecret? Ich muss auf eine Gruppe zugreifen, nicht auf eine Anwendung. Wo kann ich den privaten Schlüssel meiner Gruppe weitergeben?
Ich habe ein Login/Passwort-Daten und den PrivateKey zur Gruppe. Was soll ich als nächstes tun?

Sie können Posts von einer Gruppe mit der Methode wall.get abrufen , sie ist jedoch nicht für das Gruppentoken verfügbar. Wenn ein Token vorhanden ist, müssen Sie es nur in den Optionen verwenden.

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

Die Sammlung funktioniert mit einem Benutzer- oder Anwendungstoken. Aber nur, wenn die Methode es unterstützt.

Danke!
Was ist der AppToken und wo erhalte ich UserToken? Ist es nicht dasselbe wie der private Schlüssel der Gruppe?

Anwendungstoken (Service Token) . Benutzertoken verfügbar über eigenständige oder direkte Autorisierung. Dies sind alles Token, die ihre Berechtigungen zum Aufrufen von Methoden haben.

Welches Token (und welche Authentifizierungsmethode) benötige ich, um wall.get-Anfragen zu stellen?

Mein Beispielcode ist jetzt:

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

Aber jedes Mal bekomme ich folgende Meldung:
Code №5 - User authorization failed: method is unavailable with group auth.

Sieht aus, ich kann nicht einfach eine einfache wall.get-Anfrage machen :)

Die Methodendokumentation gibt an, dass sie für das Gruppentoken nicht verfügbar ist. Brauchen Sie ein Service- oder Benutzer-Token, habe ich oben bereits darüber geschrieben.
image

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

alexey2baranov picture alexey2baranov  ·  8Kommentare

nitreojs picture nitreojs  ·  3Kommentare

Bobrovskih picture Bobrovskih  ·  3Kommentare

Saiv46 picture Saiv46  ·  9Kommentare

T1MOXA picture T1MOXA  ·  22Kommentare