Vk-io: 如何开始?

创建于 2019-02-24  ·  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 });

negezor,谢谢! 有用!
你知道我为什么会有这样的错误吗?

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

有没有关于如何从群组的墙上获取消息的小例子?
我是 VK 服务的新手,所以对我来说看起来有点混乱。
我应该选择哪种授权方式? appId 和 appSecret 是什么? 我需要访问组而不是应用程序。 我在哪里可以传递我的组的私钥?
我有一个登录名/密码数据和组的私钥。 我接下来该怎么做?

您可以使用wall.get方法从群组获取帖子,但不适用于群组令牌。 如果有令牌,则只需在选项中使用它。

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? 不是和组的私钥一样吗?

应用程序令牌(Service Token) 。 用户令牌可通过独立或直接授权获得。 这些都是令牌,有调用方法的权限。

我需要什么令牌(和身份验证方法)来发出 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 等级

相关问题

ogmishanya picture ogmishanya  ·  4评论

alexey2baranov picture alexey2baranov  ·  8评论

Bobrovskih picture Bobrovskih  ·  3评论

nitreojs picture nitreojs  ·  3评论

T1MOXA picture T1MOXA  ·  22评论