微信公众平台开发(八) 自定义菜单功能开发_PHP教程
微信公众平台服务号以及之前成功申请内测资格的订阅号都具有自定义菜单的功能。开发者可利用该功能为公众账号的会话界面底部增加自定义菜单,用户点击菜单中的选项,可以调出相应的回复信息或网页链接。自定义菜单接口将为公众账号的信息展示空间提供更多可能性。本文将针对自定义菜单做简单的开发应用,
开发者获取使用凭证后,可以使用该凭证对公众账号的自定义菜单进行创建、查询和删除等操作。 自定义菜单接口可实现以下类型按钮:
click(点击事件):
view(访问网页):
创建自定义菜单后,由于微信客户端缓存,需要24小时微信客户端才会展现出来。建议测试时可以尝试取消关注公众账号后,再次关注,则可以看到创建后的效果。
文档地址:http://mp.weixin.qq.com/wiki/index.php?title=%E8%87%AA%E5%AE%9A%E4%B9%89%E8%8F%9C%E5%8D%95%E6%8E%A5%E5%8F%A3
3.1 获取appid 和appsecret
在 微信公众平台 > 高级功能 > 开发模式中找到appid 和appsecret。
3.2 使用appid 和appsecret 向微信凭证获取接口请求access_token
请求地址:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
请求参数说明:
获取access_token填写client_credential
第三方用户唯一凭证
第三方用户唯一凭证密钥,既appsecret
返回说明:
正确的Json返回结果:
{"access_token":"ACCESS_TOKEN","expires_in":7200}
返回参数说明:
access_token:获取到的凭证
expires_in:凭证有效时间,单位:秒
3.3 具体实现
a. 打印出格式
<?<span php </span><span $APPID</span>="wxdxxxxxxxxxxxxxxx"<span ; </span><span $APPSECRET</span>="96xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<span ; </span><span $TOKEN_URL</span>="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".<span $APPID</span>."&secret=".<span $APPSECRET</span><span ; </span><span $json</span>=<span file_get_contents</span>(<span $TOKEN_URL</span><span ); </span><span $result</span>=json_decode(<span $json</span>,<span true</span><span ); </span><span print_r</span>(<span $result</span><span ); </span>?>
结果如下:
b. 获取access_token
<?<span php </span><span $APPID</span>="wxdxxxxxxxxxxxxxxx"<span ; </span><span $APPSECRET</span>="96xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<span ; </span><span $TOKEN_URL</span>="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".<span $APPID</span>."&secret=".<span $APPSECRET</span><span ; </span><span $json</span>=<span file_get_contents</span>(<span $TOKEN_URL</span><span ); </span><span $result</span>=json_decode(<span $json</span>,<span true</span><span ); </span><span $ACC_TOKEN</span>=<span $result</span>['access_token'<span ]; </span><span echo</span> <span $ACC_TOKEN</span><span ; </span>?>
注:access_token对应于公众号是全局唯一的票据,重复获取将导致上次获取的access_token失效。
方法:通过POST一个特定结构体,实现在微信客户端创建自定义菜单。
请求地址:https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN
<span { "button":[ { "name":"公共查询", "sub_button":[ { "type":"click", "name":"天气查询", "key":"tianQi" }, { "type":"click", "name":"公交查询", "key":"gongJiao" }, { "type":"click", "name":"翻译", "key":"fanYi" }] }, { "name":"苏州本地", "sub_button":[ { "type":"click", "name":"爱上苏州", "key":"loveSuzhou" }, { "type":"click", "name":"苏州景点", "key":"suzhouScenic" }, { "type":"click", "name":"苏州美食", "key":"suzhouFood" }, { "type":"click", "name":"住在苏州", "key":"liveSuzhou" }] }, { "type":"click", "name":"联系我们", "key":"lianxiUs" }] }</span>
示例说明:
菜单结构及说明:
<span { "button":[ //button定义该结构为一个菜单 { "name":"分支主菜单名", "sub_button":[ //sub_button定义子菜单 { "type":"click", //按钮类型 "name":"分支子菜单名1", //菜单名称 "key":"loveSuzhou" //菜单key值 }, { "type":"click", "name":"分支子菜单名2", "key":"liveSuzhou" }] }, //菜单之间用 , 分隔 { "type":"click", "name":"独立菜单", "key":"lianxiUs" }] }</span>
返回说明:
正确的Json返回结果:
{"errcode":0,"errmsg":"ok"}
提交菜单:
通过curl 提交以上的菜单数据,代码如下:
<span $MENU_URL</span>="https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".<span $ACC_TOKEN</span><span ; </span><span $ch</span> =<span curl_init(); curl_setopt(</span><span $ch</span>, CURLOPT_URL, <span $MENU_URL</span><span ); curl_setopt(</span><span $ch</span>, CURLOPT_CUSTOMREQUEST, "POST"<span ); curl_setopt(</span><span $ch</span>, CURLOPT_SSL_VERIFYPEER, <span FALSE</span><span ); curl_setopt(</span><span $ch</span>, CURLOPT_SSL_VERIFYHOST, <span FALSE</span><span ); curl_setopt(</span><span $ch</span>, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'<span ); curl_setopt(</span><span $ch</span>, CURLOPT_FOLLOWLOCATION, 1<span ); curl_setopt(</span><span $ch</span>, CURLOPT_AUTOREFERER, 1<span ); curl_setopt(</span><span $ch</span>, CURLOPT_POSTFIELDS, <span $data</span><span ); curl_setopt(</span><span $ch</span>, CURLOPT_RETURNTRANSFER, <span true</span><span ); </span><span $info</span> = curl_exec(<span $ch</span><span ); </span><span if</span> (curl_errno(<span $ch</span><span )) { </span><span echo</span> 'Errno'.curl_error(<span $ch</span><span ); } curl_close(</span><span $ch</span><span ); </span><span var_dump</span>(<span $info</span>);
运行结果:
测试结果:
菜单创建成功。
查询当前使用的自定义菜单结构。
请求地址:https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKEN
curl 代码如下:
<span $MENU_URL</span>="https://api.weixin.qq.com/cgi-bin/menu/get?access_token=".<span $ACC_TOKEN</span><span ; </span><span $cu</span> =<span curl_init(); curl_setopt(</span><span $cu</span>, CURLOPT_URL, <span $MENU_URL</span><span ); curl_setopt(</span><span $cu</span>, CURLOPT_RETURNTRANSFER, 1<span ); </span><span $menu_json</span> = curl_exec(<span $cu</span><span ); </span><span $menu</span> = json_decode(<span $menu_json</span><span ); curl_close(</span><span $cu</span><span ); </span><span echo</span> <span $menu_json</span>;
取消当前使用的自定义菜单。
请求地址:https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=ACCESS_TOKEN
curl 代码如下:
<span $MENU_URL</span>="https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=".<span $ACC_TOKEN</span><span ; </span><span $cu</span> =<span curl_init(); curl_setopt(</span><span $cu</span>, CURLOPT_URL, <span $MENU_URL</span><span ); curl_setopt(</span><span $cu</span>, CURLOPT_RETURNTRANSFER, 1<span ); </span><span $info</span> = curl_exec(<span $cu</span><span ); </span><span $res</span> = json_decode(<span $info</span><span ); curl_close(</span><span $cu</span><span ); </span><span if</span>(<span $res</span>->errcode == "0"<span ){ </span><span echo</span> "菜单删除成功"<span ; }</span><span else</span><span { </span><span echo</span> "菜单删除失败"<span ; }</span>
运行结果:
测试结果:
菜单删除成功。
七、完整代码获取
请到QQ群213260412共享里下载使用。
八、关注
请关注 卓锦苏州 微信公众帐号,卓锦苏州 基于SAE 平台开发,针对于主流的微信功能进行开发测试。
您可以关注 卓锦苏州 公众帐号进行功能测试,以及获取新的应用开发。
1. 登录微信客户端,朋友们 -> 添加朋友 -> 搜号码 -> zhuojinsz,查找并关注。
2. 扫描二维码:
卓锦苏州菜单功能:
目前菜单具体功能还在开发之中,会陆续更新,敬请期待。。。
We Believe, Great People Share Knowledge...

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Terima kasih kepada netizen Qing Qiechensi, HH_KK, Satomi Ishihara dan Wu Yanzu dari China Selatan kerana menyerahkan petunjuk! Menurut berita pada 2 September, terdapat khabar angin baru-baru ini bahawa "iPhone 16 mungkin tidak menyokong WeChat." Sebagai tindak balas kepada ini, seorang wartawan dari Shell Finance memanggil talian panas rasmi Apple di China menjawab bahawa sama ada sistem iOS atau peranti Apple boleh teruskan menggunakan WeChat, dan WeChat Isu sama ada ia boleh terus disenaraikan dan dimuat turun di Apple App Store memerlukan komunikasi dan perbincangan antara Apple dan Tencent untuk menentukan situasi masa depan. Perisian App Store dan WeChat Perihalan Masalah Perisian Perunding teknikal App Store menegaskan bahawa pembangun mungkin perlu membayar yuran untuk meletakkan perisian pada Apple Store. Selepas mencapai bilangan muat turun tertentu, Apple perlu membayar yuran yang sepadan untuk muat turun berikutnya. Apple sedang aktif berkomunikasi dengan Tencent,

DeepSeek: Alat Generasi Imej AI yang kuat! DeepSeek sendiri bukan alat penjanaan imej, tetapi teknologi terasnya yang kuat memberikan sokongan yang mendasari untuk banyak alat lukisan AI. Ingin tahu cara menggunakan DeepSeek untuk menjana imej secara tidak langsung? Sila teruskan membaca! Menjana imej dengan alat AI berasaskan DeepSeek: Langkah-langkah berikut akan membimbing anda untuk menggunakan alat ini: Lancarkan alat lukisan AI: Cari dan buka alat lukisan AI berasaskan Deepseek (contohnya, cari "AI Simple"). Pilih Mod Lukisan: Pilih "Lukisan AI" atau fungsi yang serupa, dan pilih Jenis Imej mengikut keperluan anda, seperti "Anime Avatar", "Landskap"

Khabar angin WeChat menyokong iPhone 16 telah ditolak Terima kasih kepada netizen Xi Chuang Jiu Shi dan HH_KK kerana menyerahkan petunjuk! Menurut berita pada 2 September, terdapat khabar angin hari ini bahawa WeChat mungkin tidak menyokong iPhone 16. Setelah iPhone dinaik taraf kepada sistem iOS 18.2, ia tidak akan dapat menggunakan WeChat. Menurut "Berita Ekonomi Harian", diketahui daripada orang yang biasa dengan perkara itu bahawa khabar angin ini adalah khabar angin. Maklum balas Apple: Menurut Shell Finance, perunding teknikal Apple di China menjawab bahawa isu sama ada WeChat boleh terus digunakan pada sistem iOS atau peranti Apple, dan sama ada WeChat boleh terus disenaraikan dan dimuat turun di Apple App Store, perlu diselesaikan antara Apple dan Tencent Hanya melalui komunikasi dan perbincangan kita boleh menentukan situasi masa depan. Pada masa ini, Apple sedang aktif berkomunikasi dengan Tencent untuk mengesahkan sama ada Tencent akan meneruskan

Apakah mata wang GateToken(GT)? GT (GateToken) ialah aset asli pada rantaian GateChain dan mata wang platform rasmi Gate.io. Nilai syiling GT berkait rapat dengan pembangunan ekologi Gate.io dan GateChain. Apakah GateChain? GateChain dilahirkan pada 2018 dan merupakan generasi baharu rangkaian awam berprestasi tinggi yang dilancarkan oleh Gate.io. GateChain menumpukan pada melindungi keselamatan aset dalam rantaian pengguna dan menyediakan perkhidmatan transaksi terdesentralisasi yang mudah. Matlamat GateChain adalah untuk membina ekosistem penyimpanan, pengedaran dan transaksi aset digital terdesentralisasi yang selamat dan cekap peringkat perusahaan. Gatechain mempunyai asal

Gate.io, sebuah platform perdagangan cryptocurrency terkemuka yang ditubuhkan pada tahun 2013, menyediakan pengguna Cina dengan laman web rasmi Cina yang lengkap. Laman web ini menyediakan pelbagai perkhidmatan, termasuk perdagangan tempat, perdagangan niaga hadapan dan pinjaman, dan menyediakan ciri khas seperti antara muka Cina, sumber yang kaya dan sokongan masyarakat.

Saluran muat turun aplikasi gerbang untuk versi lama, meliputi pasaran aplikasi rasmi, pihak ketiga, komuniti forum dan saluran lain.

Gate.io (Pintu Terbuka Sesame) adalah platform perdagangan cryptocurrency terkemuka di dunia. Tutorial ini meliputi langkah -langkah seperti pendaftaran akaun dan log masuk, pensijilan KYC, mata wang fiat dan mata wang digital, pemilihan pasangan dagangan, pesanan urus niaga/pasaran, dan pesanan dan rekod transaksi melihat, membantu anda memulakan platform GATE.IO untuk perdagangan cryptocurrency. Sama ada pemula atau veteran, anda boleh mendapat manfaat daripada tutorial ini dan mudah menguasai kemahiran perdagangan Gate.io.

Bagi pelabur baru ke dunia cryptocurrency, adalah penting untuk memahami cara membeli duit syiling maya. Artikel ini direka untuk menyediakan panduan komprehensif kepada pemula yang meliputi langkah -langkah terperinci tentang cara memilih pertukaran yang betul, mendaftarkan akaun, dana deposit, dan membeli Ethereum (ETH). Dengan mengikuti panduan ini, pemula boleh dengan selamat dan mudah memulakan perjalanan pelaburan mata wang maya mereka dan merebut peluang pelaburan yang berpotensi pada tahun 2025 dan seterusnya.
