Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

开始开发 - 获取 Access Token #33

Open
drodata opened this issue Mar 19, 2016 · 0 comments
Open

开始开发 - 获取 Access Token #33

drodata opened this issue Mar 19, 2016 · 0 comments

Comments

@drodata
Copy link
Owner

drodata commented Mar 19, 2016

access_token 是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

公众平台的API调用所需的access_token的使用及生成方式说明:

  • 为了保密appsecrect,第三方需要一个access_token获取和刷新的 ❓ 中控服务器。而其他业务逻辑服务器所使用的access_token均来自于该中控服务器,不应该各自去刷新,否则会造成access_token覆盖而影响业务;

    📝 什么是中控服务器?

  • 目前access_token的有效期通过返回的expire_in来传达,目前是7200秒之内的值。中控服务器需要根据这个有效时间提前去刷新新access_token。在刷新过程中,中控服务器对外输出的依然是老access_token,此时公众平台后台会保证在刷新短时间内,新老access_token都可用,这保证了第三方业务的平滑过渡;

  • access_token的有效时间可能会在未来有调整,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新access_token的接口,这样便于业务服务器在API调用获知access_token已超时的情况下,可以触发access_token的刷新流程。

⚠️ 如果第三方不使用中控服务器,而是选择各个业务逻辑点各自去刷新access_token,那么就可能会产生冲突,导致服务不稳定。

获取 Access Token

公众号可以使用AppID和AppSecret调用本接口来获取access_token。发送 GET 请求至:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

参数说明:
grant_type: 值为 client_credential
返回一个 JSON 数据包,正确时为:{"access_token":"ACCESS_TOKEN","expires_in":7200}
错误时为:{"errcode":40013,"errmsg":"invalid appid"}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant