我有“节点 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 });
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 请求 :)
方法文档表明它不可用于组令牌。 需要服务或用户令牌,我已经在上面写过。
最有用的评论
导入仅适用于 MJS、TypeScript 或 Babel 预处理。 这里需要用到Common JS: