微信打开网页,网页获取用户信息的注意事项

解决的问题:网页回调域名,  redirect_uri的写法。

适用人群:和我一样的初级开发,粗略的阅读过开发手册。

   先说说写这篇博客时本人的境遇吧。本人已经从事java开发一年多了,这次接到一个项目是秒杀商城的,但是客户又要网页版的,只是在微信端可以打开,可以用微信登陆而已。团队总共四个人,一个专门做Java后端,一个做微信端的前端,一个实施。项目时间比较赶所以也参与了上述的所有工作。

      了解到了我和我的团队是什么水平就知道我很多问题只能网上找答案。本人看视频出身,遇到这种第一反应是上b站,没错是上b站找视频,没找到。然后网上找教程,但是这些教程似乎都是给比较高级的人看的,到最后几步愣是看不懂。没办法只好上微信官方看开发手册。一看不得了,比什么教程容易懂多了。可是了我还是遇见了一些问题。

       首先是  网页授权回调域名  由于已经公众号平台已经改页面,现在这个东西按照老版本的手册已经找不到。后来网上查到了现在叫 网页授权域名 在图下的地方。

微信打开网页,网页获取用户信息的注意事项_第1张图片

其次就是文件到底放在什么地方,有人和我说必须是服务器根目录,其实这个开心就好,但是我也建议放在根目录下。如果是tomcat  就是 webapps下的ROOT中。放在项目的根目录下也可以。根据不同的放法这个网页授权域名写法不同,总之就是要保证服务启动时输入你填的网页授权域名+那个文件名能被访问到就可以了。哦不要带http,https前缀

微信打开网页,网页获取用户信息的注意事项_第2张图片

再者就是获取code时链接的写法

微信打开网页,网页获取用户信息的注意事项_第3张图片

做测试的时候我是直接把这个链接进行修改后用微信访问,但是不建议让用户直接访问这个链接,应该做一个转发,不让用户直接使用这个链接。说到这个坑了,这个坑坑了我一天的时间,也是我笨,不懂变通不仔细的看手册。把上面的

redirect_uri=REDIRECT_URI

回调域名经过编码以后直接放上去。结果老是报10003错误。网上问大牛,大牛们都说回调域名和redirect_uri要一致.

这个也就误导我了,我以为是一样的意思。试了好多次都没成功,中间去吃了个晚饭,跑了几圈回来后我仔细的看了一下例子

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

 例子中的redirect_uri怎么这么长?前面还带有 http。接着看手册看到这个

微信打开网页,网页获取用户信息的注意事项_第4张图片

也就恍然大悟了,这个地方是域名+项目名+处理器路径。 不然数据返回给谁呀?  所以应该是  http://回调域名/项目名/处理器名。不过要经过转码。依据scope不同,请求头也不同。具体按照手册上面的例子来.

你可能感兴趣的:(微信开发)