Vk-io: implisitFlowUser tidak berfungsi

Dibuat pada 9 Mar 2019  ·  6Komentar  ·  Sumber: negezor/vk-io

{ 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 }

Versi vk-io apa yang Anda gunakan?

4.0.0-rc.15

Versi Node.js apa yang Anda gunakan?

11.11.0

Apa yang kamu lakukan?

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.

Apa yang Anda harapkan terjadi?

Mendapatkan token

Apa hasil sebenarnya?

Kesalahan Otorisasi

Jika Anda tidak dapat mereproduksinya, saya akan membantu)))

Semua 6 komentar

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.

Lagi

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)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

Pacmard picture Pacmard  ·  3Komentar

alexey2baranov picture alexey2baranov  ·  8Komentar

nitreojs picture nitreojs  ·  3Komentar

ProgrammingLife picture ProgrammingLife  ·  9Komentar

T1MOXA picture T1MOXA  ·  22Komentar