Vk-io: рдирд┐рд╣рд┐рдд рдкреНрд░рд╡рд╛рд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдорд╛рд░реНрдЪ 2019  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: 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 }

рдЖрдк vk-io рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

4.0.0-рдЖрд░рд╕реА.15

рдЖрдк Node.js рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

11.11.0

рдХреНрдпрд╛ рдХрд┐рдпрд╛ рддреБрдордиреЗ?

рд╕рд░рд▓ рдкреНрд░рд╛рдзрд┐рдХрд░рдг

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()
}

рдореИрдВ рдХреЛрдб рдореЗрдВ рдЖрдпрд╛, рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд┐рдпрд╛, рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рдкреГрд╖реНрда рдкрд░ рдХреНрд░реИрд╢ рд╣реЛ рд░рд╣рд╛ рдерд╛ "рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХреНрд╕реЗрд╕ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ? рд╣рд╛рдВ / рдирд╣реАрдВ"
рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг 4.0.0-rc.7 (рдЬреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдерд╛) рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛, рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред рдирд┐рдЪрд▓рд╛ рд░реЗрдЦрд╛: рдмрдЧ рдПрдХ рдЕрджреНрдпрддрди рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рдерд╛ред

рдЖрдкрдиреЗ рдХреНрдпрд╛ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХреА рдереА?

рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рдерд╛?

рдкреНрд░рд╛рдзрд┐рдХрд░рдг рддреНрд░реБрдЯрд┐

рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдорджрдж рдХрд░реВрдБрдЧрд╛)))

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВрдиреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдЦрд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рд╣реБрдЖ рдЬреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдерд╛ред рдХреНрдпрд╛ рдореБрдЭреЗ рдПрдЪрдЯреАрдПрдордПрд▓ рдкреЗрдЬ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ?

рдпрджрд┐ рдЖрдк 15 рдлрд░рд╡рд░реА, 2019 рдХреЗ рдмрд╛рдж рд╕рдВрджреЗрд╢рд╡рд╛рд╣рдХ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рдорд░реНрдерди рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрджреЗрд╢ рдЕрдиреБрднрд╛рдЧ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рд╕рдВрдЪрд╛рд▓рдиред

рдХрд╕реНрдЯрдо рд╕рдВрджреЗрд╢ API рддрдХ рдкреВрд░реНрдг рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдореЙрдбрд░реЗрд╢рди рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдЕрдзрд┐рдХ

рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди

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

рдПрдХ рд▓реЙрдЧрд┐рди рддреНрд░реБрдЯрд┐ рднреАред
const script = $('script[type="text/javascript"][language="javascript"]').text(); рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреЗрддрд╛ рд╣реИред xs рдХреНрдпреЛрдВ, рдЪрдпрдирдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд html рдореЗрдВ рдПрдХ рдЯреИрдЧ рд╣реИред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рд╣реЙрдЯрдлрд┐рдХреНрд╕ рдмрдирд╛рдпрд╛ рд╣реИ:
const script = $('script[type="text/javascript"][language="javascript"]').text(); рдХреЛ const script = $.html(); . рд╕реЗ рдмрджрд▓рд╛ рдЧрдпрд╛

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрднреА рджреЗрдЦрд╛ред
@ рдПрд╕рдкреАрдмреА-рд╡реЗрдм рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ?
@negezor рдореИрдВрдиреЗ рднреА рджреЗрдЦрд╛ рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрд╛
рдбреНрд░реЙрдк рдкреЗрдЬ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ? рдпрд╛ рддреБрдордиреЗ рдореЗрд░реЗ рдмрд┐рдирд╛ рдкреНрд░рдмрдВрдзрди рдХрд┐рдпрд╛?

@AndreiSoroka , рдЕрдЧрд░ рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ рддреЛ рдЗрд╕реЗ рдлреЗрдВрдХ рджреЗрдВ)

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕