目录
二、利用AppID和AppSecret获取Access token:
运行环境:
操作系统:Windows 11 家庭中文版 22621.2134
工具:postman 10.17.1-ui-230811-1545
Firefox 116.0.2 (64 位)
更新日期:2023/08/16
前提条件:
需要微信公众号管理员账号;
一、参考帮助文档:
连接wx公众号API:
https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Creating_Custom-Defined_Menu.html
获取 Access token:
https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html
二、利用AppID和AppSecret获取Access token:
1、获取AppID和AppSecret
需要先获取AppID和AppSecret;可在“微信公众平台-开发-基本配置”页中获得(需要已经成为开发者,且账号没有异常状态)。
此处如果忘记了AppSecret;请点击重置(此处需要管理员账号)。
2、查找本机公网ip
随便百度搜索ip,随便找一个ip地址查询网址即可。如果懒得找,我直接给大家贴一个:
IP.cn - IP 地址查询 | 地理位置 | 手机归属地 | DNS查询
这里显示的就是你的公网ip;
这里特别需要注意的是:对于家庭非专线网络的人来说,每次路由器重启,或者电脑重启,都有可能会变更你的ip地址。所以均需要核对自己的ip是否在白名单内。
3、添加公网ip到白名单
找到自己的公网ip之后,就可以点击ip白名单后的查看;由此添加我们的ip到白名单内:
点击查看,然后修改即可。此处仍需要公众号管理员账号同意授权。
4、postman连接、获取Access token
此处利用poatman来进行演示:
这里有可能遇到40164错误,解决方法请点击蓝色字体;
接口调用请求说明
https请求方式: GET 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数据包给公众号:
{"access_token":"ACCESS_TOKEN","expires_in":7200}
参数说明
参数 | 说明 |
---|---|
access_token | 获取到的凭证 |
expires_in | 凭证有效时间,单位:秒 |
错误时微信会返回错误码等信息,JSON数据包示例如下(该示例为AppID无效错误):
{"errcode":40013,"errmsg":"invalid appid"}
返回码说明
返回码 | 说明 |
---|---|
-1 | 系统繁忙,此时请开发者稍候再试 |
0 | 请求成功 |
40001 | AppSecret错误或者AppSecret不属于这个公众号,请开发者确认AppSecret的正确性 |
40002 | 请确保grant_type字段值为client_credential |
40164 | 调用接口的IP地址不在白名单中,请在接口IP白名单中进行设置。 |
89503 | 此IP调用需要管理员确认,请联系管理员 |
89501 | 此IP正在等待管理员确认,请联系管理员 |
89506 | 24小时内该IP被管理员拒绝调用两次,24小时内不可再使用该IP调用 |
89507 | 1小时内该IP被管理员拒绝调用一次,1小时内不可再使用该IP调用 |
三、利用Access token查询api自定义菜单
微信开放文档;可以点击左侧蓝色字体跳转官方页面。
使用接口创建自定义菜单后,开发者还可使用接口查询自定义菜单的结构。另外请注意,在设置了个性化菜单后,使用本自定义菜单查询接口可以获取默认菜单和全部个性化菜单信息。
请求说明
http请求方式:GET https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKEN
返回说明(无个性化菜单时)
对应创建接口,正确的Json返回结果:
注:menu为默认菜单,conditionalmenu为个性化菜单列表。字段说明请见个性化菜单接口页的说明。
四、利用Access token修改api自定义菜单
微信开放文档;可以点击左侧蓝色字体跳转官方页面。
接口调用请求说明
http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN
click和view的请求示例
这里其实我们修改,更多的是部分修改,因此我们可以直接从上述查询的json结果中,复制一份到Body体当中。
但是需要注意的是,查询结果中会多一个 "menu": {;如下图标记位置;
而新增的时候是没有的;需要将此删除。然后在最后也删除一个 }
而如果一意孤行不删除的话,便会报40016的错误。