微信SendAuth请求访问令牌代码仅工作一次

时间:2018-08-13 09:22:20

标签: android authentication wechat wechat-auth

我正在关注WeChat Login documentation for 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,并且收到了微信应用的回复,并且可以完成登录过程。

但是,如果我重新安装我的应用程序并尝试再次使用微信登录,我总是会收到ERR_BAN(-6)错误代码。要使其再次正常运行,我必须重新安装微信应用程序。

在文档中找不到什么时候可以得到ERR_BAN错误代码的任何信息。谁能帮助我解决这个问题?

2 个答案:

答案 0 :(得分:0)

由于使用了CACHE,我在使用微信API并直接在手机上的微信应用程序上进行测试时遇到了许多问题。 刷新微信缓存非常困难,我会说几乎是不可能的,这就是为什么您必须重新安装微信以再次开始测试的原因。 我强烈建议您将桌面测试应用程序用于微信,请在此处下载,链接位于页面末尾: https://mp.weixin.qq.com/wiki?action=doc&id=mp1455784140

然后,您将能够调试开发和刷新缓存的每个步骤。另外,您可以将软件链接到手机,并调试微信网络浏览器中发生的事情。

答案 1 :(得分:0)

我设法解决了这个问题。我直接从包含冒号:的keytool输出中复制了MD5签名。我从签名中删除了冒号,现在它可以正常工作了。

我认为这是微信应用程序中的错误,因为当应用程序显示授权页面时签名会与冒号一起工作,但此后不会。