900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 微信公众号API版本菜单使用中 如何调用微信公众号API修改 查看公众号菜单

微信公众号API版本菜单使用中 如何调用微信公众号API修改 查看公众号菜单

时间:2023-04-16 00:04:16

相关推荐

微信公众号API版本菜单使用中 如何调用微信公众号API修改 查看公众号菜单

目录

一、参考帮助文档:

二、利用AppID和AppSecret获取Access token:

1、获取AppID和AppSecret

2、查找本机公网ip

3、添加公网ip到白名单

4、postman连接、获取Access token

三、利用Access token查询api自定义菜单

四、利用Access token修改api自定义菜单

运行环境:

操作系统:Windows 11 家庭中文版 22621.2134

工具:postman 10.17.1-ui-230811-1545

Firefox 116.0.2 (64 位)

更新日期:/08/16

前提条件:

需要微信公众号管理员账号;

一、参考帮助文档:

连接wx公众号API:

https://developers./doc/offiaccount/Custom_Menus/Creating_Custom-Defined_Menu.html

获取 Access token:

https://developers./doc/offiaccount/Basic_Information/Get_access_token.html

二、利用AppID和AppSecret获取Access token:

1、获取AppID和AppSecret

需要先获取AppID和AppSecret;可在“微信公众平台-开发-基本配置”页中获得(需要已经成为开发者,且账号没有异常状态)。

此处如果忘记了AppSecret;请点击重置(此处需要管理员账号)。

2、查找本机公网ip

随便百度搜索ip,随便找一个ip地址查询网址即可。如果懒得找,我直接给大家贴一个:

- IP 地址查询 | 地理位置 | 手机归属地 | DNS查询

这里显示的就是你的公网ip;

这里特别需要注意的是:对于家庭非专线网络的人来说,每次路由器重启,或者电脑重启,都有可能会变更你的ip地址。所以均需要核对自己的ip是否在白名单内。

3、添加公网ip到白名单

找到自己的公网ip之后,就可以添加我们的ip到白名单内:

点击查看,然后修改即可。此处仍需要公众号管理员账号同意授权。

4、postman连接、获取Access token

此处利用poatman来进行演示:

这里有可能遇到40164错误,解决方法请点击蓝色字体;

接口调用请求说明

https请求方式:GET https://api./cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

参数说明

返回说明

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

{"access_token":"ACCESS_TOKEN","expires_in":7200}

参数说明

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

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

返回码说明

三、利用Access token查询api自定义菜单

微信开放文档;可以点击左侧蓝色字体跳转官方页面。

使用接口创建自定义菜单后,开发者还可使用接口查询自定义菜单的结构。另外请注意,在设置了个性化菜单后,使用本自定义菜单查询接口可以获取默认菜单和全部个性化菜单信息。

请求说明

http请求方式:GET https://api./cgi-bin/menu/get?access_token=ACCESS_TOKEN

返回说明(无个性化菜单时)

对应创建接口,正确的Json返回结果:

注:menu为默认菜单,conditionalmenu为个性化菜单列表。字段说明请见个性化菜单接口页的说明。

四、利用Access token修改api自定义菜单

微信开放文档;可以点击左侧蓝色字体跳转官方页面。

接口调用请求说明

http请求方式:POST(请使用https协议) https://api./cgi-bin/menu/create?access_token=ACCESS_TOKEN

click和view的请求示例

这里其实我们修改,更多的是部分修改,因此我们可以直接从上述查询的json结果中,复制一份到Body体当中。

但是需要注意的是,查询结果中会多一个"menu": {;如下图标记位置;

而新增的时候是没有的;需要将此删除。然后在最后也删除一个 }

而如果一意孤行不删除的话,便会报40016的错误。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。