{ AuthError: Could not log in
at ImplicitFlowUser.run (file:///Users/andreisoroka/git/temp/node_modules/vk-io/lib/index.mjs:1704:17)
at processTicksAndRejections (internal/process/next_tick.js:81:5)
code: 'AUTHORIZATION_FAILED',
name: 'AuthError',
pageHtml: null }
vk-io
estás usando?4.0.0-rc.15
11.11.0
Autorización sencilla
import VK from "vk-io";
export default function getToken({login, password}) {
const vk = new VK({
appId: process.env.VK_APP_ID,
login,
password,
});
return vk.auth.implicitFlowUser().run()
}
Ingresé al código, lo depuré y vi que fallaba en la página "¿permitir acceso a la aplicación? sí / no"
Regresé a la versión 4.0.0-rc.7 (que usé antes), todo funcionó. En pocas palabras: el error vino con una actualización.
Obtener una ficha
Error de autorización
Si no puedes reproducirlo, te ayudaré)))
Miré brevemente los cambios, pero no parecía haber nada particularmente cambiado relacionado con la autorización. ¿Puedo obtener la página HTML?
Si planea comenzar a desarrollar el messenger, después del 15 de febrero de 2019, necesitará obtener acceso de prueba en Soporte, lo que implica el funcionamiento de los métodos de la sección Mensajes con las claves de administrador de su aplicación Standalone.
Para obtener acceso completo a la API de mensajes personalizados, la aplicación deberá pasar la moderación.
La solución podría ser usar, por ejemplo, una aplicación de Android
async function loginVK() {
let login = await rl.questionAsync("Login: ");
console.log("Password: ");
rl.hideMode = true;
let password = await rl.questionAsync("");
rl.hideMode = false;
vk.setOptions({ login, password, });
const direct = vk.auth.androidApp();
vk.captchaHandler = async ({ src }, retry)=> {
let key = await rl.questionAsync("Enter captcha ["+src+"]: ");
try {
await retry(key);
console.log('Success');
} catch (e) { console.error(e); }
};
vk.twoFactorHandler = async (none, retry)=> {
let code = await rl.questionAsync("Enter twoFactor code: ");
try {
await retry(code);
console.log('Success');
} catch (e) { console.error(e); }
};
let res = false;
try {
res = await direct.run();
console.log(res);
} catch(e) { console.error(e); }
return res;
}
También un error de inicio de sesión.
const script = $('script[type="text/javascript"][language="javascript"]').text();
devuelve una cadena vacía. xs por qué, hay una etiqueta en html adecuada para el selector. Hice una revisión para mí:
Se reemplazó const script = $('script[type="text/javascript"][language="javascript"]').text();
por const script = $.html();
Lo siento, lo acabo de ver ahora.
@ spb-web, ¿no es difícil hacer una solicitud de extracción?
@negezor También miré y no pude descifrar a partir de los cambios qué causó este problema
¿Soltar página relevante? ¿O te las arreglaste sin mí?
@AndreiSoroka , tíralo si no es difícil)