NodeJS - v6.12.0
VK-IO - 4.0.0-alpha.3
/vk/node_modules/vk-io/lib/api/index.js:202
const work = async () => {
^
SyntaxError: Unexpected token (
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/vk/node_modules/vk-io/lib/vk.js:12:35)
最低 Node.js 版本 8
更新了节点。
现在,当我运行脚本时,我会收到消息:
(node:25471) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): AuthError: Unsupported type validation
(node:25471) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
挂断处理程序并找出错误是值得的
process.on('unhandledRejection', (err) => {
console.log('Caught unhandledRejection:', err);
});
Caught unhandledRejection: { AuthError: Unsupported type validation
at DirectAuth.run (/vk/node_modules/vk-io/lib/auth/direct.js:226:15)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7) code: 'AUTHORIZATION_FAILED', name: 'AuthError' }
谁来处理 Promise 错误?
Xs :)
这应该在哪里以及如何进行?
(对promise不是很熟悉)
好吧,图书馆完全建立在它们之上。 您应该学习它们以在 Node.js 中工作。
我仍然不太明白如何捕捉错误。
显然错误发生在授权阶段,我做了以下构造
vk.auth.direct().run().then((response) => {
BotID = response.user;
}).catch((err) => {
console.log(err);
});
但一切都没有改变。
关键是直接授权仅适用于授权的应用程序。 举个例子vk.auth.androidApp().run()
如果我使用vk.auth.windowsApp()
- 我会得到同样的错误
还有其他选择吗?
独立应用?
是的
vk.auth.implicitFlowUser()
AuthError: Auth form error: Указан неверный логин или пароль.
较早(在旧版本上)授权有效。
通过vk.auth.windowsApp()
你能看到代码吗?
是的,我有登录/密码授权。
据我了解,你只需要一个授权码?
vk.setOptions({
app: 0000001, //Пример
login: '+Телефон',
pass: 'Пароль',
phone: '+Телефон'
});
vk.auth.implicitFlowUser().run().catch((err) => {
console.log(err);
});
不是pass
,而是password
旧的有psss吗?
在 3.2 中有一个属性pass
,现在是password
谢谢你。
另一个问题是,该网站显示该机器人正坐在移动设备上。
如何使状态为“在线”
通过独立应用程序授权vk.auth.implicitFlowUser()
我这样做了,但它仍然显示机器人正坐在手机上。
我什至不知道,我的来自正常的在线。
奇怪,现在的状态很普通。
可能是VK在炫耀)
谢谢您的帮助 :)
一个易于使用的优秀库。
谢谢你。
一点也不,用它来健康)
最有用的评论
挂断处理程序并找出错误是值得的