通过微信公众号API复制公众号自定义菜单同时增加子菜单方法

前端之家收集整理的这篇文章主要介绍了通过微信公众号API复制公众号自定义菜单同时增加子菜单方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


主要的原因是再不破坏公众号以前的菜单的基础上增加自定义菜单,主要步骤如下:


1.通过微信提供的微信公众平台接口调试工具获取公众号的所有自定义菜单


  网址:https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index

  

分享图片

                          图一          

  结果如下:

   

分享图片

 

                          图二


  需要选择接口类型为定义菜单,然后输入公众号的access_token这个怎么获取请自行百度吧。

2.获取公众号自定义菜单

         一般返回的都是json数据,其中主要针对view和click两中类型:
    可以参考API文档,看具体描述:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141014
    因为我们通过微信公众平台接口调试工具只能获取view和click类型的其它的类型我们无法获取,比如图二中返回的信息第二个菜单没有显示信息:图片、图文这些都获取不到,那怎么办呢?
    我们可以另一个自定义菜单API(获取自定义菜单配置接口)获取所有信息:
      网址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1434698695
      然后我写了一个简单的程序直接获取,如下:

      

/**
 * @Author: lxl
 * @describe
 * @Date: 2019/1/8 17:37
 * @Version 1.0
 */
public class ce {

    public static void main(String[] args){
        //获取获取自定义菜单配置接口
//        String url ="https://api.weixin.qq.com/cgi-bin/get_current_selfmenu_info?access_token=" +
//                "17_5dzl2i-Xdnr_i-o4nOJLu2wCgzL46k0hgdHqHYa76yzStcX1BiTtdnWVWxXa4sfQfomLkEpoC4B1fq0FkbynayLnaeVlAFT1PV0u5qJK_v_iqIKsng_Pj7LmZVEznRrz4jMD_Z5jZj-bnvyHNZJeAJDTFP";
//        String userInfoResultStr = HttpUtil.doGetSSL(url);
//        System.out.println(userInfoResultStr);

        //获取永久素材
        String urlccc="https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=" +
                "17_5dzl2i-Xdnr_i-o4nOJLu2wCgzL46k0hgdHqHYa76yzStcX1BiTtdnWVWxXa4sfQfomLkEpoC4B1fq0FkbynayLnaeVlAFT1PV0u5qJK_v_iqIKsng_Pj7LmZVEznRrz4jMD_Z5jZj-bnvyHNZJeAJDTFP";

        JSONObject jsonObject = new JSONObject();
        jsonObject.put("type","news"); //图片(image)、视频(video)、语音 (voice)、图文(news)
        jsonObject.put("offset",0);
        jsonObject.put("count",20);
        String result = HttpUtil.doPost(urlccc,jsonObject.toJSONString());
        System.out.println(result);
    }
}

//我们这里有两个接口 userInfoResultStr是可以获取所有的菜单配置,可以找到所有的信息,我们通过信息就知道了
//result是得到所有的永久素材,图二中的信息我们获取不到,不过我可以知道它是一个永久素材,所以通过此接口获取公众号所有的永久素材的meida_id。
 

 3.创建自定义菜单

 

分享图片

                        图三

其中body中数据说明:

{
                "button":[
                    {
                        "name":"据常优","sub_button":[
                            {
                                "type":"view","name":"菜单名称","url":"http://baidu.com","sub_button":[

                                ]
                            },{
                                "type":"click","name":"我的客服","key":"MY_NEWS"
                            }
                        ]
                    },{
                        "name":"咨询","sub_button":[
                            {
                                "type":"click","name":"客服测试","key":"Customer_Service_Click"
                            },{
                               "type": "media_id","name": "图片","media_id": "2eq5gndU2iY0gygbpOfxb238Jaypw-jJfBcUTK5awEg"
                            }
                        ]
                    }        
                ]
            }

说明:

据常优:是我们的一级菜单,点击会弹出子菜单"子菜单名称"、"我的客服",其中"我的客服"就是我新添加菜单。咨询:是我们的一级菜单,点击会弹出子菜单"客服测试"、"图片",其中"图片"就是通过2中获取的永久素材,然后添加上的。注:因文采有限,写的可能不是很详细,大家可以联系我。

猜你在找的微信公众号相关文章