通过用户验证登录和授权,获取Access Token,为下一步获取用户的OpenID做准备;
同时,Access Token是应用在调用OpenAPI访问和修改用户数据时必须传入的参数。
access token由每次用户登录时生成,过期时间默认为三个月,用户再次登录时自动刷新,请网站或应用做好防过期策略,或过期后提示用户再次授权。
OAuth20针对网站接入,提供了登录验证和授权流程,主要提供以下获取access token的方式:
1 server-side模式
即OAuth官方文档中提到的Authorization Code模式,适用于需要从web server访问的应用。
2 client-side模式
即OAuth官方文档中提到的Implicit模式,适用于需要通过客户端访问的方式。
以上两种模式仅在获取access_token时有所区别,后续获取openid、调用API等方式均相同。
微信开发需要获取access token。以下内容引用微信官方开发者文档:
access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。
公众平台的API调用所需的access_token的使用及生成方式说明:
1、为了保密appsecrect,第三方需要一个access_token获取和刷新的中控服务器。而其他业务逻辑服务器所使用的access_token均来自于该中控服务器,不应该各自去刷新,否则会造成access_token覆盖而影响业务;
2、目前access_token的有效期通过返回的expire_in来传达,目前是7200秒之内的值。中控服务器需要根据这个有效时间提前去刷新新access_token。在刷新过程中,中控服务器对外输出的依然是老access_token,此时公众平台后台会保证在刷新短时间内,新老access_token都可用,这保证了第三方业务的平滑过渡;
3、access_token的有效时间可能会在未来有调整,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新access_token的接口,这样便于业务服务器在API调用获知access_token已超时的情况下,可以触发access_token的刷新流程。
如果第三方不使用中控服务器,而是选择各个业务逻辑点各自去刷新access_token,那么就可能会产生冲突,导致服务不稳定。
公众号可以使用AppID和AppSecret调用本接口来获取access_token。AppID和AppSecret可在微信公众平台官网-开发者中心页中获得(需要已经成为开发者,且帐号没有异常状态)。注意调用所有微信接口时均需使用>
接口调用请求说明
>
参数说明
grant_type 是 获取access_token填写client_credential
appid 是 第三方用户唯一凭证
secret 是 第三方用户唯一凭证密钥,即appsecret
返回说明
正常情况下,微信会返回下述JSON数据包给公众号:
{"access_token":"ACCESS_TOKEN","expires_in":7200}
参数说明
access_token 获取到的凭证
expires_in 凭证有效时间,单位:秒
错误时微信会返回错误码等信息,JSON数据包示例如下(该示例为AppID无效错误):
{"errcode":40013,"errmsg":"invalid appid"}
点击申请,填写网址url和token,其中token可由开发者可以任意填写,用作生成签名。
延展回答:
获取access_token,这个方法是这个样子的
2这个对初学者来说是个很纠结的地方。第一次接触的人,估计就懵了。
3正常情况下,微信会返回下述JSON数据包给公众号:{"access_token":"ACCESS_TOKEN","expires_in":7200}
{"access_token":"返回得到的access_token","expires_in":7200}
4错误时微信会返回错误码等信息,JSON数据包示例如下
{"errcode":40013,"errmsg":"invalid appid"}
5微信接口限制,这个大家还是要注意一下的。
6最好还是给个提示,微信自带一个比较基础的接口调试工具。
接口选择:“基础支撑”
接口列表:“获取access token接口/token”(默认就是这一个。)
然后依次填入appid、secret
以上就是关于如何获取accessToken全部的内容,包括:如何获取accessToken、微信开发怎么获取access、微信开发获取access_token报错怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)