首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

微信公眾平台接口開發入門:從菜單創建到數據存取實戰

     編輯:PHP 綜合知識

前言

微信公眾平台接口開發已成企業數位化標配。本文以「創建自定義菜單」為切入點,串聯 Access Token 機制、HTTPS 請求封裝、數據存取邏輯,提供可直接落地的入門級實戰指南。

核心前置知識:Access Token 是通行證

所有業務接口均需 access_token 驗證身份。獲取方式:

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

注意:access_token 有效期 7200 秒,建議全域快取並提前刷新,避免並發重複請求導致封禁。

實戰接口:創建自定義菜單

接口地址:

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

權限說明:僅認證服務號擁有權限;未認證可申請「公眾平台測試號」(有效期 1 年)進行開發調試。

通用 HTTPS 請求封裝函數

<?php
/**
 * 通用 HTTPS 請求封裝
 * @param string $url  接口 URL
 * @param string $data JSON 格式請求體(GET 請求可省略)
 * @return string 回應內容
 */
function https_request($url, $data = null) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 開發環境關閉驗證,生產建議開啟並配置 CA 憑證
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
    if (!empty($data)) {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
    }
    
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}

// 使用範例
// 獲取數據(GET)
$response = https_request($url);
// 存取數據(POST)
$response = https_request($url, $json_data);
?>

菜單創建完整流程示範

<?php
$access_token = '你的_access_token';
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token={$access_token}";

$menu_data = '{
    "button": [
        {
            "type": "click",
            "name": "今日推薦",
            "key": "TODAY_RECOMMEND"
        },
        {
            "name": "關於我們",
            "sub_button": [
                {"type": "view", "name": "官網", "url": "https://www.example.com"},
                {"type": "click", "name": "聯繫客服", "key": "CONTACT_US"}
            ]
        }
    ]
}';

$result = https_request($url, $menu_data);
var_dump(json_decode($result, true));
?>

關鍵避坑指南

  • JSON 編碼:請求體必須為標準 JSON,中文勿 urlencode,直接傳 UTF-8 字串。
  • 錯誤碼對照:40001 (access_token 無效)、45009 (接口頻率超限)、40018 (按鈕名稱過長)。
  • 測試號限制:測試號菜單僅對關注者可見,且每日修改次數受限。

進階延伸:數據存取模式

微信接口本質是「遠端資料庫操作」:

結語

掌握 access_token 管理與通用 HTTPS 封裝,即可觸類旁通開發所有微信接口。建議後續引入 easywechat 等成熟 SDK,專注業務邏輯而非底層通訊細節。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
操作HTTP 方法典型場景
存數據POST創建菜單、發送客服消息、新增素材
取數據GET獲取用戶列表、查詢菜單、下載素材