关于微信自定义菜单查询接口的BUG


最近发现微信公众平台的接口中,有一个很不起眼的BUG,是关于下面这个API的:

这个API用于拉取公众号已经创建的自定义菜单的配置,结果以json格式返回。试着拉回我已经配置好的菜单配置,改了个url,也没仔细检查结构,重新调用创建接口提交菜单配置,微信返回结果:

{"status":"error","message":"invalid button type hint: []"}

仔细检查发现,才找到原因。我们先来看看,如果是正确的包含子菜单的自定义菜单,微信官方给出的正确结构,或者说是查询接口正确的返回结果应该是这样的:

但是实际上,这个API返回的子菜单json结构中多了一个"list",导致如果直接使用查询接口返回的结果创建菜单,将会被微信判定为格式不正确...

在日常开发中,如果需要查询菜单配置并重新创建时,还需加以注意微信这个很不起眼的BUG。


不知名站长 / 狮子座 / 食品