WeChat SendAuth-запрос на доступ к токен-коду работает только один раз

Я следую документации по входу в WeChat для Android, и она работает, но только один раз, и я не могу повторить процесс.

Я использую этот код, чтобы получить код токена доступа:

IWXAPI api = WXAPIFactory.createWXAPI(this, APP_ID, false);
SendAuth.Req request = new SendAuth.Req();
request.scope = "snsapi_userinfo";
request.state = "wechat_sdk_demo_test";
api.sendReq(request);

Я создал WXEntryActivty и я получил ответ от приложения WeChat, и я могу завершить процесс входа в систему.

Но если я переустановлю свое приложение и попытаюсь войти через WeChat снова, я всегда получаю ERR_BAN (-6) код ошибки. Чтобы он снова заработал, мне нужно переустановить приложение WeChat.

Я не мог найти что-нибудь о том, когда я могу получить ERR_BAN Код ошибки в документации. Кто-нибудь может мне помочь с этой проблемой?

2 ответа

Решение

Мне удалось решить проблему. Я скопировал подпись MD5 непосредственно из вывода keytool, который содержит двоеточия :, Я убрал двоеточие из подписи и теперь оно работает правильно.

Я думаю, что это ошибка в приложении WeChat, потому что подпись работает с двоеточиями, когда приложение отображает страницу авторизации, но не после этого.

У меня было много проблем с использованием Wechat API и тестированием непосредственно в приложении wechat на моем телефоне из-за CACHE. Очистить кеш wechat очень сложно, я бы сказал, почти невозможно, поэтому вам нужно переустановить wechat, чтобы снова начать тестирование. Я настоятельно рекомендую вам использовать приложение для настольного тестирования для wechat, скачайте его здесь, ссылки находятся в конце страницы: https://mp.weixin.qq.com/wiki?action=doc&id=mp1455784140

Тогда вы сможете отлаживать каждый шаг вашей разработки и очищать кеш. Кроме того, вы можете связать программное обеспечение с вашим телефоном и отладить то, что происходит внутри веб-браузера wechat.

Другие вопросы по тегам