微信开发中两种access_token的区别和不同用处总结

微信开发需要用到的access_token,其实是分为两个种类的,一种是普通的access_token,另一种是网页授权access_token。

普通的access_token,是微信开发者调用微信所提供的各种借口的一个凭证,有效时间为7200秒,也就是两个小时,而且一个公众号每天获取它的次数微信那边是有限制的,上限是2000次。

网页授权access_token,是第三方网页若需要使用用户的微信账户登录,需要获取它,从而来获取用户微信账户的信息。

另外,获取用户微信账户信息也有两种情况:

1. 普通的获取用户信息,只需要调用微信用户信息接口就能获取,因而使用的是第一种普通的access_token。

2. 网页授权时获取微信用户信息,用的就是第二种,网页授权access_token。

两种access_token混淆的话就会有 “invalid access_token” 的错误。

要注意的是,第一种普通的access_token是全局性的,就是说一旦重新调用接口获取一个新的普通的access_token,之前的那个旧的普通的access_token就会失效,因而用旧的普通的access_token就无法成功地调用相关的接口。所以这种特性可能会导致一些情况,比如说,多个不同的进程独立的去获取这种普通的access_token,就会导致有些接口没办法正常地调用相关的微信接口。一般的话,可以用定时器定时地更新access_token,或者将其缓存在缓存或者数据库当中,设置失效时间,在缓存当中找不到或者已经失效的情况下,再通过接口重新获取的方式来解决类似的问题。

最后,水平有限,有写得不恰当的地方望大家见谅,也可以留言提出来,我会及时更正,谢谢~

 

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