解决关于微信公众号网页授权获取code参数的问题

  1. 在微信网页授权过程中,需要获取code参数,因为我用的是公众平台测试账号,使用的服务器是ip地址,所以用手机访问时总是会弹出
    这里写图片描述
    涂鸦的地方是我的服务器ip地址,问题就在这,如果用ip当链接,就不能点“继续访问”按钮(继续访问会重排你的原网页,会有一些问题),而是点击下面的“访问原网页”,后面的操作也是这样,都点“访问原网页”。这样获取code参数以及后面的获取openid和token才不会有问题。

  2. 如果报错:”errcode”:40163,”errmsg”:”code been used, 很大原因是你的代码出现了错误,因为你的代码出现错误后,特别是在使用code之后出现错误, 微信后台会换个ip再次访问你的网站,并且携带你原来的code参数,这就造成code参数重复使用(微信官方明确指出code参数只能使用一次)。具体可以看看这篇文章

  3. 还有一点要注意,对于使用ip地址的服务器(没有域名),再使用微信客户端访问https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect 类似这种链接时,微信不会自动弹出授权的那个框,而使用ICP备案的域名的服务器时,会弹出一个框框让用户选择是否授权。

  4. 此外,推荐使用微信开发者工具进行调试,我在手机上搞半天都搞不好,用微信开发者工具一下就弄好了。
    这里写图片描述 涂鸦的地方就是我获得的openid。