微信的全局接口使用凭证access_token和网页授权临时access_token

(转 https://blog.csdn.net/u010882234/article/details/66972327)  

 微信公众号开发,需要调用微信的各个接口,获取用户信息和用户授权等。其余的业务逻辑功能,和普通web工程大同小异。今天总结一下微信的access_token, 本文简单讲一下微信的全局接口使用凭证access_token和网页授权临时access_token的获取,以及区别。

         先讲全局接口使用凭证access_token。

         要使用微信接口,就要先获取access_token,可以通过appid和appsecret,调用微信获取access_token的接口获取。appid是公众号的唯一标识,是申请微信号后分配到的。appsecret算是服务号的使用密码,可以登录微信公众平台生成或重置。获取access_token,使用这2个参数就行了。接口:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET。这个access_token,是微信公众号的全局唯一票据,各个微信接口调用都需要用到它。这个接口每天使用限制是2000次,所以自动获取这个access_token是有限制,不能所以接口调用都去重新获取。它的有效期是2个小时,已经自动实现了平滑过渡,可以放心的每隔2小时调用一次。

        下面讲网页授权,code换取access_token。

        首先,用户网页授权,获取code,接口:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect。APPID,是自己服务号的APPID;REDIRECT_URI,是自己想要跳转的目标地址;response_type=code,表示想要获取code,不能改变这个参数;scope,一般使用参数“snsapi_base”(用户必须已关注公众号),可以取得openid,不需要用户手动同意,自动授权跳转;scope,如果用户没有关注,又想获取用户基本信息(头像、昵称等),可以使用参数“snsapi_userinfo”,不过会弹出微信授权页面,需要用户点击授权;state,微信留给开发者自由使用的字段,我们可以把自己需要的参数,或重定向的地址放在里面。#wechat_redirect加上就行。

        然后,用得到的code,换取网页授权的access_token,https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code。这个接口获取的是临时的网页授权的access_token,与之前说的公众号全局唯一票据access_token是两个东西,不能混为一谈。而且,通过code获取access_token接口,没有使用次数限制。调用这个接口,可以获取到access_token和openid。

       以上讲了公众号全局唯一票据access_token和临时的网页授权的access_token的获取,之后,调用微信接口即可。

猜你喜欢

转载自blog.csdn.net/u011342216/article/details/80335719