微信公眾號更新新增選單

HezhezhiyuLe 發表於 2020-12-04

前言

微信要更新底部的選單,只更新二級選單的連結,找了微信API,發現沒有更新介面,根據選單節點更新啥的。怎麼實現這個功能,其實微信後臺就有對應的選單更新方法,網上絕大多數教程都是這麼教的,我這邊是通過微信API更新的。

解決

微信雖然沒有更新的介面但是有新增刪除的介面啊,這裡再說個小細節微信新增介面會替換之前的選單,說白了就是全部換新
微信自定義選單API
所以第一步,先查詢所有的自定義選單

獲取舊自定義選單

使用介面建立自定義選單後,開發者還可使用介面查詢自定義選單的結構。另外請注意,在設定了個性化選單後,使用本自定義選單查詢介面可以獲取預設選單和全部個性化選單資訊。

給個ACCESS_TOKEN就能獲取了

URL

http請求方式:GET https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKEN
https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKEN

返回

 {
    "menu": {
        "button": [
            {
                "type": "click", 
                "name": "今日歌曲", 
                "key": "V1001_TODAY_MUSIC", 
                "sub_button": [ ]
            }, 
            {
                "type": "click", 
                "name": "歌手簡介", 
                "key": "V1001_TODAY_SINGER", 
                "sub_button": [ ]
            }, 
            {
                "name": "選單", 
                "sub_button": [
                    {
                        "type": "view", 
                        "name": "搜尋", 
                        "url": "http://www.soso.com/", 
                        "sub_button": [ ]
                    }, 
                    {
                        "type": "view", 
                        "name": "視訊", 
                        "url": "http://v.qq.com/", 
                        "sub_button": [ ]
                    }, 
                    {
                        "type": "click", 
                        "name": "贊一下我們", 
                        "key": "V1001_GOOD", 
                        "sub_button": [ ]
                    }
                ]
            }
        ]
    }
}

如下 這就是你的所有自定義選單,這是官方寫的,實際上自己拿到的會很多。

新增自定義選單

複製下你的舊選單資料,注意,只複製menu下的程式碼。然後修改你需要修改的選單連結,名稱,資料

URL

 http請求方式:POST(請使用https協議) https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN
https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN

引數

引數就是你修改的最終選單,提個細節,微信選單的連結靜默授權,可以是微信外部連結

{
    "button":[
        {
            "name":"理賠",
            "sub_button":[
                {
                    "type":"A",
                    "name":"B",
                    "url":"C",
                    "sub_button":[

                    ],
                    "appid":"D",
                    "pagepath":"E"
                }
            ]
        }
    ]
}

返回

{
    "errcode": 0,
    "errmsg": "ok"
}

檢查

新增完畢後,選單點一點,確定功能實現