{ 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
apa yang Anda gunakan?4.0.0-rc.15
11.11.0
Otorisasi sederhana
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()
}
Saya masuk ke kode, men-debug-nya, dan melihat kode itu mogok di halaman "izinkan akses aplikasi? ya / tidak"
Saya memutar kembali ke versi 4.0.0-rc.7 (yang saya gunakan sebelumnya), semuanya bekerja. Intinya: bug datang dengan pembaruan.
Mendapatkan token
Kesalahan Otorisasi
Jika Anda tidak dapat mereproduksinya, saya akan membantu)))
Saya melihat sekilas perubahannya, tetapi sepertinya tidak ada perubahan khusus yang terkait dengan otorisasi. Bisakah saya mendapatkan halaman HTML?
Jika Anda berencana untuk mulai mengembangkan messenger, setelah 15 Februari 2019, Anda perlu mendapatkan akses uji di Dukungan, yang menyiratkan pengoperasian metode bagian Pesan dengan kunci administrator aplikasi Standalone Anda.
Untuk mendapatkan akses penuh ke API Pesan khusus, aplikasi harus melewati moderasi.
Solusinya bisa menggunakan, misalnya, aplikasi 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;
}
Juga kesalahan login.
const script = $('script[type="text/javascript"][language="javascript"]').text();
mengembalikan string kosong. xs mengapa, ada tag di html yang cocok untuk pemilih. Saya membuat perbaikan terbaru untuk diri saya sendiri:
Mengganti const script = $('script[type="text/javascript"][language="javascript"]').text();
dengan const script = $.html();
Maaf, saya baru melihatnya sekarang.
@spb-web tidak sulit untuk membuat permintaan tarik?
@negezor Saya juga melihat dan tidak tahu dari perubahan apa yang menyebabkan masalah ini
Jatuhkan halaman relevan? Atau apakah Anda berhasil tanpa saya?
@AndreiSoroka , buang saja jika tidak sulit)