【小(xiǎo)編推薦】自(zì)定義菜單接口可(kě₽≈π)實現(xiàn)多(duō)種類型按鈕

2014-09-24  &nbs±≤p;|   發布者:梁國($£guó)芳   |α₽δ∏   查看(kàn):332₹‍0次

微(wēi)信資訊

自(zì)定義菜單能(néng)夠幫助公衆号豐富界面,讓用(yòng)戶♣↑≤更好(hǎo)更快(kuài)地(dì)理(lǐ)解公γ✘σ衆号的(de)功能(néng)。開(kāi)啓自(zì)定義菜單¶λ£$後,公衆号界面如(rú)圖所示:

菜單.jpg

目前自(zì)定義菜單最多(duō)包括3個(gè)一(σ×yī)級菜單,每個(gè)一(yī)級菜單™<Ω<最多(duō)包含5個(gè)二級菜單。一(yī ♣§)級菜單最多(duō)4個(gè)漢字,二級菜單最多(​★‌duō)7個(gè)漢字,多(duō)出來(lái)的(de)部分(f'π∏≠ēn)将會(huì)以“...”& 代替。請(qǐng)注意,創建自(zì)定義菜單後,由于微(wēi)信客戶‍♥端緩存,需要(yào)24小(xiǎo)時(shπβí)微(wēi)信客戶端才會(huì)展現(xiàn)出來(lái←↔¥ )。建議(yì)測試時(shí)可(kě)以嘗試取消關注公衆賬号後再次≤€→≥關注,則可(kě)以看(kàn)到(dào)創建後的(de'₽)效果。

自(zì)定義菜單接口可(kě)實現(x←€'<iàn)多(duō)種類型按鈕,如(rú)下(xià):

1、click:點擊推事(shì)件(ji ♠♦★àn)
用(yòng)戶點擊click類型按鈕後,微(wēi)信服務器(qì ÷ )會(huì)通(tōng)過消息接口推送消息類型為→ σ∞(wèi)event	的(de)結構給開(kāi)發者(參考→±ε§消息接口指南(nán)),并且帶上(shàng)​$♠按鈕中開(kāi)發者填寫的(de)key值δ∏",開(kāi)發者可(kě)以通(tōng)過自(•γzì)定義的(de)key值與用(yòng)戶進行(xíng)交互;
2、view:跳(tiào)轉URL
用(yòng)戶點擊view類型按鈕後,微(wēi& ∞✔)信客戶端将會(huì)打開(kāi)開(₩↓kāi)發者在按鈕中填寫的(de)網頁URL,可(kě)與網頁授權獲取≤¥♦↑用(yòng)戶基本信息接口結合,獲得(de)用β±(yòng)戶基本信息。
3、scancode_push:掃碼推事(shì)件(jiàn)
用(yòng)戶點擊按鈕後,微(wēi)信客戶端将調起掃一(yī)掃工(Ωβ→gōng)具,完成掃碼操作(zuò)後顯示掃描結果₩<©(如(rú)果是(shì)URL,将進入URL),且會(huì)将₹γ₽≤掃碼的(de)結果傳給開(kāi)發者,開(kāi)發者可(k÷<★ě)以下(xià)發消息。
4、scancode_waitmsg:掃碼推事(sh  "ì)件(jiàn)且彈出“消息接收中”提§&示框
用(yòng)戶點擊按鈕後,微(wēi)信客戶端将調起掃一(yī)掃工(gōn'←₩g)具,完成掃碼操作(zuò)後,将掃碼的(de)結果傳給開(kāi)發σλ者,同時(shí)收起掃一(yī)掃工(↕©∏gōng)具,然後彈出“消息接收中”提示框,随後可(k ↕ě)能(néng)會(huì)收到(dào)開(kāi)發♥→σ者下(xià)發的(de)消息。
5、pic_sysphoto:彈出系統拍(≠₹pāi)照(zhào)發圖
用(yòng)戶點擊按鈕後,微(wēi)信客戶端将調起系統相(xiàng✘©​)機(jī),完成拍(pāi)照(zhào)操作(zuò)後,會(huì)将拍↓σ™δ(pāi)攝的(de)相(xiàng)片發 ★↓送給開(kāi)發者,并推送事(shì)件(jiàn)給開(kāi↓ π)發者,同時(shí)收起系統相(xiàng)機(jī)↕→×,随後可(kě)能(néng)會(huì)收到(dào∑≥™¥)開(kāi)發者下(xià)發的(de)消息。
6、pic_photo_or_album:彈出拍(pāi)照(→γ←σzhào)或者相(xiàng)冊發圖
用(yòng)戶點擊按鈕後,微(wēi)信客戶₩∞α端将彈出選擇器(qì)供用(yòng)戶選擇&ldq₩☆Ωuo;拍(pāi)照(zhào)”或者&ldφ§₽₹quo;從(cóng)手機(jī)相(x≠σiàng)冊選擇”。用(yòng)戶選擇後即走其他('‌tā)兩種流程。
7、pic_weixin:彈出微(wēi)信相(xiàn> g)冊發圖器(qì)
用(yòng)戶點擊按鈕後,微(wēi)信客戶端将調起微(wēi)信相(xi↔<àng)冊,完成選擇操作(zuò)後,将選>λ擇的(de)相(xiàng)片發送給開(kāi)發者的(de)服務器(qì),®♣并推送事(shì)件(jiàn)給開(kāi)發者,同時(shí)收起相™£≤γ(xiàng)冊,随後可(kě)能(néng)∑≤™會(huì)收到(dào)開(kāi)發®≥者下(xià)發的(de)消息。
8、location_select:彈出地(dì)理(lǐ)位®‍置選擇器(qì)
用(yòng)戶點擊按鈕後,微(wēi)信客戶端将調起地(dì)£©π"理(lǐ)位置選擇工(gōng)具,完成選擇操作​ •(zuò)後,将選擇的(de)地(dì)理(lǐ)位置發送給開(kā ₹¶i)發者的(de)服務器(qì),同時(shí)收起位置選擇工(÷✔↑αgōng)具,随後可(kě)能(néng)會(huì)收↔<♣↓到(dào)開(kāi)發者下(xià)發的(de)消息。

請(qǐng)注意,3到(dào)8的(de)所 σπ 有(yǒu)事(shì)件(jiàn),僅支持微(wēi)信iPhon‍β↔♠e5.4.1以上(shàng)版本,和(hé)An‌♠droid5.4以上(shàng)版本的(de)微✘¶♠(wēi)信用(yòng)戶,舊(jiù)版本微(wēi)信用(yòng)戶↑₽≥點擊後将沒有(yǒu)回應,開(kāi)發者也(yě)不(bù)能(néng±₽ε)正常接收到(dào)事(shì)件(ji₽>≥àn)推送。


接口調用(yòng)請(qǐng)求說(shuō)明(míng)

http請(qǐng)求方式:POST(請(qǐng)使用(yòng)ht←₽tps協議(yì)) https://api.weiπ♠xin.qq.com/cgi-bin/menu/cre©♦₹ate?access_token=ACCESS_TOKEN

click和(hé)view的(de)請(♦‍‍qǐng)求示例

 {
     "button":[​ 
     {	
          "♠∏£φ;type":"click&q♣₽≠Ωuot;,
          "name&quo∏ φt;:"今日(rì)歌(gē)曲",
≥±
          "key":&'&quot;V1001_TODAY_MUSIδ​±C"
      },
      {
 δ£'          "name":&q ∏uot;菜單",
           &quo€<t;sub_button":[
           {	
   ♣             "type"<β♣®:"view",
              ✘φΩ∑ "name":"搜≈≈≥索",
               "url"© ×®;:"http://www.s✘→₩oso.com/"
     '✔λ       },
           " α≈ {
               "type∞ ":"view",
      ↓‌©         "name":"≈&$™視(shì)頻(pín)",
              ∏& "url":&quo≈¥t;http://v.qq.com/"
        δ♦λ    },
            {
±​σ               "type&quo'↓​t;:"click",
      ♥∏≤         "name":"贊一(☆'yī)下(xià)我們",
           £☆≠    "key":&quo×♥↔t;V1001_GOOD"
            }]
✘₹Ω§       }]
 }

其他(tā)新增按鈕類型的(de)請(qǐng↕∞✘)求示例

{
    "button&qu®£™≠ot;: [
        {
            "na÷∞↕me": "掃碼", 
λ∑            "sub_button": [
 &
                {
        σ≥∏            "type&qu±★ot;: "scancode_waitmsg&quo ≤↔t;, 
                    "¶₹;name": "掃碼帶提示", 
   ♣&'                 "key& ♠quot;: "rselfmenu_0_0", > ∞
                    "s÷↓‌ub_button": [ ]
  '&>              }, 
  π‌              {
      ≥≤₽∑              "typ>₽€÷e": "scancode_pus€₹'h", 
                    "®εname": "掃碼推事(shì)件(jiàn)"♠♥;, 
                    "key&quoε≠☆♣t;: "rselfmenu_0✔<•_1", 
           ↑↔₹δ         "sub_button&quo$σt;: [ ]
                }
         γ↑   ]
        }, 
        {
         αα   "name": "發圖&∞∏quot;, 
            "sub_β₩ button": [
     ‍☆≈           {
             •        "type":γ<≠ "pic_sysphoto&quo§'αt;, 
              ♠δ¥φ      "name": &q↑←‌¶uot;系統拍(pāi)照(zhào)發圖", 
       ≈£∑<             "key": "rsε∏×elfmenu_1_0", 
              >♥≈β     "sub_button"₽₩<£: [ ]
                 }, β♠
                {
≥≤                    "type&"αδ≤quot;: "pic_photo← β_or_album", 
                   ₩ ε "name": "φ® ↓拍(pāi)照(zhào)或者相(xiàng)冊發圖", 
 ☆→®•                   "key": φ "rselfmenu_1_1"✔σ;, 
                    "sub_but ♥∏ton": [ ]
                },  ↕'
                {
                 &♠↑    "type": "‍☆";pic_weixin", 
    §₩♣δ                "name&quo≤α₹t;: "微(wēi)信相(xiàng)冊發圖&qΩ♣↔uot;, 
                    "key÷‌↕": "rselfme↕™¶★nu_1_2", 
             ✘πλ       "sub_button": [ ]
   →∑"∏             }
            ]
 φπ       }, 
        {
∞÷→            "nam≥÷★πe": "發送位置", 
    ☆×         "type"Ω"γ→: "location_select", 
    ∑→         "key": &q‍✔÷uot;rselfmenu_2_0"
   ☆÷§↓     }
    ]
}

參數(shù)說(shuō)明(míng)

參數(shù) 是(shì)否必須 說(shuō)明(míng)
button 是(shì) 一(yī)級菜單數(shù)組,個(gè)數(shù₽↑←)應為(wèi)1~3個(gè)
sub_button 二級菜單數(shù)組,個(gè)數(shù)應為(wèi)1~5個(∞≠gè)
type 是(shì) 菜單的(de)響應動作(zuò)類型
name 是(shì) 菜單标題,不(bù)超過16個(gè)字節,子¥ (zǐ)菜單不(bù)超過40個(gè)字節
key click等點擊類型必須 菜單KEY值,用(yòng)于消息接口推送,不(bù "‌)超過128字節
url view類型必須 網頁鏈接,用(yòng)戶點擊菜單可(kě)打開(kāi)鏈接, σ不(bù)超過256字節


返回結果

正确時(shí)的(de)返回JSON數(shù)據包如(rú)下(xià):$↔

{"errcode":0,"errmsg♦•δ":"ok"}

錯(cuò)誤時(shí)的(de)返回JSON數(shù)據包如(rú)下  ✘(xià)(示例為(wèi)無效菜單名長(cháng)度):

{"errcode":4™•‍↕0018,"errmsg":"in≠÷valid button name size"£↓δ;}