微信公众号开发(二)微信公众号的access_token

简介: 微信对用户使用开放了很多的功能,如:自定义菜单接口、客服接口、获取用户信息接口、用户分组接口、群发接口,但是为了保证用户访问这些功能相对安全,每次访问都需要带上一个秘钥去验证身份。那么这个秘钥就是access_token。

微信对用户使用开放了很多的功能,如:自定义菜单接口、客服接口、获取用户信息接口、用户分组接口、群发接口,但是为了保证用户访问这些功能相对安全,每次访问都需要带上一个秘钥去验证身份。那么这个秘钥就是access_token。

在调用这些接口时,都需要传入一个相同的参数 access_token,它是公众账号的全局唯一票据,它是接口访问凭证。

access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。

access_token的存储至少要保留512个字符空间。

access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的 access_token失效。

Access_token是微信端给你生成的,需要调用微信端接口去获取这个数据,当你获取到这个数据之后,你自然就可以去调用其他的接口了。

微信生成access_token接口调用每天使用限制次数的(每天2000次),但其实正常我们两个小时获取一次的话,可能一天也就调用十几次。

这里大概就需要说一下,关于access_token,每次获取完成,将其,与获取时间存入数据库中,每次调用需要使用到access_token接口的方法的时候,去数据库里边取,同时判断是否过期,如果过期,重新请求access_token。基本就是这样。

也就是说,access_token这个玩意是微信给你生成的,自生成之时起,有效期两个小时,超时失效。每次获取存数据库,调用的时候判断过没过期,过期,重新获取。

上面大概就是我对access_token的理解。下面我大概就是重复一下官方文档对于access_token获取的一些复述,加上我自己的一些理解。

有需要看官方文档的同学,请移步《微信公众平台官方文档

接口调用请求说明

http请求方式: GET

ini

复制代码

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

参数说明

参数 是否必须 说明
grant_type 获取access_token填写client_credential
appid 第三方用户唯一凭证
secret 第三方用户唯一凭证密钥,即appsecret

 返回说明

正常情况下,微信会返回下述JSON数据包给公众号:

json

复制代码

{"access_token":"ACCESS_TOKEN","expires_in":7200}
参数 说明
access_token 获取到的凭证
expires_in 凭证有效时间,单位:秒

错误时微信会返回错误码等信息,JSON数据包示例如下(该示例为AppID无效错误):

json

复制代码

{"errcode":40013,"errmsg":"invalid appid"}

返回错误码说明:

返回码 说明
-1 系统繁忙,此时请开发者稍候再试
0 请求成功
40001 AppSecret错误或者AppSecret不属于这个公众号,请开发者确认AppSecret的正确性
40002 请确保grant_type字段值为client_credential
40164 调用接口的IP地址不在白名单中,请在接口IP白名单中进行设置。(小程序及小游戏调用不要求IP地址在白名单内。)
89503 此IP调用需要管理员确认,请联系管理员
89501 此IP正在等待管理员确认,请联系管理员
89506 24小时内该IP被管理员拒绝调用两次,24小时内不可再使用该IP调用
89507 1小时内该IP被管理员拒绝调用一次,1小时内不可再使用该IP调用

最后放一下,我调用微信获取access_token的接口:

ini

复制代码

/**
     * @name 获取微信access_token
     */
    public function getAccessToken()
    {
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->appsecrt;
        $info  = file_get_contents($url);
         // 解析完成,这是一个对象
        $obj = json_decode($info);
         $this->access_token = $obj->access_token;
    }

有好得 建议,请在下方输入你的评论。

欢迎访问个人博客 guanchao.site

欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”

目录
相关文章
|
前端开发 开发者
【微信公众号对接】有关签名一直报错,提示invalid signature问题(我的签名和使用微信开发者工具验证返回的签名的是一致的)但还是报错!!!
【微信公众号对接】有关签名一直报错,提示invalid signature问题(我的签名和使用微信开发者工具验证返回的签名的是一致的)但还是报错!!!
828 0
|
8月前
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。
|
开发者
微信公众平台开发基本配置
微信公众平台开发基本配置
466 0
|
Go
【微信公众号】基于golang的公众号开发基本配置
【微信公众号】基于golang的公众号开发基本配置
273 0
|
前端开发 JavaScript API
微信公众号项目,实现微信支付(具体流程和参数)
微信公众号项目,实现微信支付(具体流程和参数)
|
Java API
java进行微信公众号开发
java进行微信公众号开发
266 0
|
人工智能 Python
【Python + 微信】微信公众号开发避坑指南
【Python + 微信】微信公众号开发避坑指南
305 0
|
Linux 网络安全 开发工具
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
247 0
|
XML 数据格式 Python
【超详细!】Python微信公众号开发(2)
【超详细!】Python微信公众号开发(2)
371 0
|
XML 安全 Java
如何开发微信公众号后台
如何开发微信公众号后台
444 0

热门文章

最新文章