Vk-io: implicitFlowUserが機能しない

作成日 2019年03月09日  ·  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-rc.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件

変更点を簡単に確認しましたが、承認に関連する特に変更はなかったようです。 HTMLページを取得できますか?

2019年2月15日以降にメッセンジャーの開発を開始する場合は、サポートでテストアクセスを取得する必要があります。これは、スタンドアロンアプリケーションの管理者キーを使用してメッセージセクションのメソッドを操作することを意味します。

カスタムメッセージAPIに完全にアクセスするには、アプリケーションがモデレートに合格する必要があります。

もっと

解決策は、たとえば、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;
}

また、ログインエラー。
const script = $('script[type="text/javascript"][language="javascript"]').text();は空の文字列を返します。 xsなぜ、セレクターに適したhtmlのタグがあります。 自分用の修正プログラムを作成しました。
const script = $('script[type="text/javascript"][language="javascript"]').text();const script = $.html();に置き換えました

すみません、今見たところです。
@ spb-webプルリクエストを行うのは難しいことではありませんか?
@negezor私も見て、この問題の原因を変更から理解できませんでした
関連するドロップページ? それとも私なしでなんとかしましたか?

@AndreiSoroka 、難しくなければ捨ててください)

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

Jengas picture Jengas  ·  15コメント

T1MOXA picture T1MOXA  ·  29コメント

SOS
helix-team picture helix-team  ·  4コメント

ProgrammingLife picture ProgrammingLife  ·  9コメント

T1MOXA picture T1MOXA  ·  22コメント