关于公众号的一些整理

最近在开发微信公众号,公司之前有做过基本的框架,拿来用的时候,没有认真去屡思路。吃了不少亏。正赶上最近要重新拾起博客记录。就从这开始吧。

取openid的逻辑很简单:在进入公众号的首页中先判断有无openId,如果有openid,则直接使用。否则去微信服务器取。

具体步骤如下:

1、取openid之前,需要取一个code。可以想象成进入微信服务器取openid的钥匙。这个钥匙要通过特定方式去获取。

    根据微信文档。

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE&connect_redirect=1#wechat_redirect

这是获取code的url。每个微信公众号都会有自己的APPID和APPSECRET,这个可以登录微信后台进行查看。

重点是REDIRECT_URI。这个url是微信回调的页面。

还有个重要的地方:这个回调函数的域名,必须在微信后台进行设置。必须设置好的域名才能进行回调。否则会出现如下图错误



当请求出成功以后。微信服务器会回调这个REDIRECT_URI地址同时也会返回code这个值。jsp页面直接用String code=request.getParameter("code");即可获取到。

重点来了-------

获取openId的url如下

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

grant_type这个参数不用管。把appid和secret还有code替换掉,向微信服务器发get请求。微信会返回相应json。进行解析即可得到openid

猜你喜欢

转载自blog.csdn.net/hey_gril/article/details/80601966