微信入门开发(java)----第一章:access_token和openid的获取

来源:互联网 发布:太傻中介知乎 编辑:程序博客网 时间:2024/06/11 01:52
 我是一个java程序员,一直以来做的都是Web项目。有一段时间,公司业务比较多。导致负责公司公众号维护的项目组同事都去帮忙了,所有我就暂时负责一段时间公司的公众号的二次开发。之前做过支付宝的开发。在接触微信开发之后,发现微信开发里面的限制很多。相比较支付宝而言也比较苛刻。接触一段时间后,慢慢也了解了微信开发的流程。写这篇博客的目的呢。一是写了后期自己看,毕竟有时候,很容易忘记,写下来,算有个笔记。二来呢,针对第一次接触微信开发的童鞋们,微信技术文档看起来还是讲的比较官方和晦涩。我这里呢,用代码示例和大白话简单说一下,也帮助各位微信开发的新人去了解。好了,闲话少说,我先说说微信开发的流程。 建议之前最好能认真读一篇微信技术开发文档: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5 好了,我简单说一下我一开始开发的流程吧。 开发前准备:申请公众号,公司开发的话,公司会提前申请号一个公众号。如果没有的话,可以自己申请一个测试的微信公众号,里面的接口能满足大部分的开发测试。下面是我的测试号。其中域名一定要注意了,这个域名是与你微信公号进行绑定的,在绑定成功之后,微信公号会这个这个域名授权。意思是微信的回调函数会回调到这个域名下的某一个方法或者页面。如果没有公众号与域名没有绑定的话,公众号无法进行回调的。我开发时用的是公司的测试公众号。

这里写图片描述
获取access_token:微信开发文档获取access_token的说明连接:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183。上面说的很清楚。一般access_token在本地存储是通过redis服务器或者数据库进行存储。有条件。建议最好用redis存储。下面项目里面获取access_token的代码。获取的access_token的自行存储
这里写图片描述

这里写图片描述
获取openid:openid微信里面也说明。说明:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842。我这边也简单说明一下吧。openid就是某一个用户通过微信扫描关注了你的公众号后,微信针对你的公众号给这个微信用户分配的唯一且不重复的标识。打个比喻。你的公众号是一个网站,而这个openid就是这个人登录你的网站时用的登录名。这样应该就明白了吧。只要这个人通过微信扫描的二维码的访问路径是访问到你的公众号项目里面的,你就可以通过代码获取到这个人openid。当然你可以根据这个openid查询到这个人的基本信息。这个openid的常规作用就是标识的作用。下面是获取openid的代码:

第一步:我这边二维码扫描的路径是直接访问到IuuiLoginController的loginQueryUser方法

第二步:这里我说明一下,host参数的意思:因为在获取openid之前还需要获取到一个参数,用户授权的code。所以host中的OpenIdHandler是获取code的方法;config.APPID是你公众号的APPid
这里写图片描述

第三步:在项目里面配置OpenIdHandler的路径,在web.xml配置
这里写图片描述

第四步:OpenIdHandler的方法。获取到code之后。根据code再获取的openid,并把openid存储到session里面。为什么要存储到session里面呢,因为这个方法执行完成之后回重定向,重新再访问一次IuuiLoginController里面loginQueryUser方法,防止获取的openid丢失问题,所以才会存储到session里面
这里写图片描述

第五步:回到IuuiLoginController里面loginQueryUser方法,这个时候从session里面就能取到Openid方法了。
这里写图片描述

好了,暂时说到这里了,如果有错误的地方,请各位大能多多批评。也是刚刚才接触微信开发不久。后面如果再学到其他的关于微信的知识点。我会及时的梳理并且与大家分享。谢谢!

阅读全文
1 0
原创粉丝点击