Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP untuk membangunkan menu tersuai pada akaun awam WeChat

Cara menggunakan PHP untuk membangunkan menu tersuai pada akaun awam WeChat

PHPz
PHPzasal
2023-10-27 09:21:491220semak imbas

Cara menggunakan PHP untuk membangunkan menu tersuai pada akaun awam WeChat

Cara menggunakan PHP untuk membangunkan menu tersuai pada akaun rasmi WeChat

Akaun rasmi WeChat ialah medium yang sangat penting, dan banyak syarikat dan individu memilih untuk mempromosikan dan berkomunikasi pada akaun rasmi WeChat. Menu tersuai adalah bahagian penting dalam akaun rasmi WeChat dan boleh membantu meningkatkan pengalaman pengguna dan fungsi navigasi. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan menu tersuai dan menyediakan contoh kod khusus.

Pertama sekali, kita perlu memahami konsep dan batasan yang berkaitan dengan menu tersuai akaun rasmi WeChat.

  1. Jenis menu tersuai
    Dalam akaun awam WeChat, terdapat tiga jenis utama menu tersuai: acara tolak klik, URL lompat dan peristiwa tolak kod imbasan.
  • Acara tolak klik: Selepas pengguna mengklik pada menu, pelayan WeChat akan menolak mesej ke URL yang dikonfigurasikan oleh pembangun, dan pembangun boleh mengendalikan permintaan pengguna dalam URL ini.
  • Lompat URL: Selepas pengguna mengklik pada menu, ia akan melompat terus ke halaman URL yang ditentukan oleh pembangun.
  • Imbas acara tolak kod: Selepas pengguna mengklik pada menu, klien WeChat akan memaparkan antara muka untuk mengimbas kod QR Selepas pengguna mengimbas, pelayan WeChat akan menolak hasil imbasan ke URL yang dikonfigurasikan oleh pembangun.
  1. Penghadan menu tersuai
    Dalam akaun awam WeChat, terdapat beberapa sekatan pada menu tersuai Pembangun perlu mematuhi peraturan berikut:
  • Sehingga 3 menu peringkat pertama boleh ditetapkan, dan setiap satu-. menu peringkat boleh mempunyai sehingga Sediakan 5 menu kedua.
  • Menu peringkat pertama boleh mengandungi sehingga 4 aksara Cina, dan menu peringkat kedua boleh mengandungi sehingga 7 aksara Cina.
  • Nama menu tidak boleh diulang.
  • Menu peringkat pertama dan menu peringkat kedua tidak boleh sama.

Memahami konsep berkaitan dan batasan menu tersuai, seterusnya kita mula menggunakan PHP untuk membangunkan menu tersuai.

  1. Persediaan
    Pertama, kami memerlukan AppID dan AppSecret akaun rasmi WeChat. Anda boleh memohon akaun pada platform awam WeChat dan membuat akaun awam, dan kemudian mendapatkan AppID dan AppSecret dalam Pusat Pembangun.
  2. Dapatkan access_token
    Sebelum mencipta, bertanya dan memadam menu, kita perlu mendapatkan access_token untuk operasi seterusnya. access_token ialah satu-satunya kelayakan untuk memanggil antara muka WeChat.

Alamat antara muka untuk mendapatkan access_token ialah:

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

Antaranya, APPID dan APPSECRET perlu diganti dengan AppID dan AppSecret anda sendiri.

Kami boleh menggunakan perpustakaan cURL PHP untuk menghantar permintaan HTTP dan mendapatkan data JSON yang dikembalikan. Kod khusus adalah seperti berikut:

function getAccessToken($appID, $appSecret) {
    $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . $appID . '&secret=' . $appSecret;
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($ch);
    curl_close($ch);
    
    $result = json_decode($data, true);
    if(isset($result['access_token'])){
        return $result['access_token'];
    }else{
        return false;
    }
}

$appID = 'your_appid';
$appSecret = 'your_appsecret';
$accessToken = getAccessToken($appID, $appSecret);
if(!$accessToken){
    // 获取access_token失败
    // 处理错误逻辑
}
  1. Buat menu tersuai
    Selepas mendapatkan access_token, kita boleh menggunakan antara muka rasmi untuk mencipta menu tersuai. Alamat antara muka ialah:

    https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN

    Antaranya, ACCESS_TOKEN ialah access_token yang kami perolehi pada langkah sebelumnya.

Format data JSON untuk mencipta menu tersuai adalah seperti berikut:

{
    "button": [
        {
            "name": "菜单1",
            "sub_button": [
                {
                    "type": "click",
                    "name": "点击事件",
                    "key": "click_event"
                },
                {
                    "type": "view",
                    "name": "跳转URL",
                    "url": "http://www.example.com"
                }
            ]
        },
        {
            "name": "菜单2",
            "sub_button": [
                {
                    "type": "scancode_push",
                    "name": "扫码推事件",
                    "key": "scan_event"
                }
            ]
        },
        {
            "type": "view",
            "name": "跳转URL",
            "url": "http://www.example.com"
        }
    ]
}

Contoh penggunaan PHP untuk menghantar permintaan untuk mencipta menu tersuai adalah seperti berikut:

function createMenu($accessToken, $menuData) {
    $url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token=' . $accessToken;
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $menuData);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($ch);
    curl_close($ch);
    
    $result = json_decode($data, true);
    if(isset($result['errcode']) && $result['errcode'] == 0){
        return true;
    }else{
        return false;
    }
}

$menuData = '{
    "button": [
        {
            "name": "菜单1",
            "sub_button": [
                {
                    "type": "click",
                    "name": "点击事件",
                    "key": "click_event"
                },
                {
                    "type": "view",
                    "name": "跳转URL",
                    "url": "http://www.example.com"
                }
            ]
        },
        {
            "name": "菜单2",
            "sub_button": [
                {
                    "type": "scancode_push",
                    "name": "扫码推事件",
                    "key": "scan_event"
                }
            ]
        },
        {
            "type": "view",
            "name": "跳转URL",
            "url": "http://www.example.com"
        }
    ]
}';

if(createMenu($accessToken, $menuData)){
    // 创建自定义菜单成功
    // 处理成功逻辑
}else{
    // 创建自定义菜单失败
    // 处理失败逻辑
}

Di atas adalah langkah lengkap dan kod contoh untuk menggunakan PHP untuk membangunkan menu tersuai untuk akaun awam WeChat. Melalui langkah di atas, kami boleh membuat menu tersuai dengan mudah pada akaun rasmi WeChat, dan melakukan lompatan dan pemprosesan acara yang sepadan seperti yang diperlukan. Semoga artikel ini bermanfaat kepada semua orang!

Atas ialah kandungan terperinci Cara menggunakan PHP untuk membangunkan menu tersuai pada akaun awam WeChat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn