微信 php 自訂菜單解決方案

來源:互聯網
上載者:User
php 自訂菜單
我申請了一個公眾平台的測試帳號,之前已經通過驗證,關注後用我的號向測試帳號發訊息可以得到測試帳號的正確響應,我現在想實現的自訂菜單,下面用***代替了我測試帳號的appid和secret,我進測試帳號沒看到自訂菜單,請問問題出在哪?


/**
* wechat php test
*/

//define your token
define("TOKEN", "weixin");

$token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=***&secret=***";

$data = "{
"button":[
{
"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
},
{
"type":"click",
"name":"歌手簡介",
"key":"V1001_TODAY_SINGER"
},
{
"name":"菜單",
"sub_button":[
{
"type":"click",
"name":"hello word",
"key":"V1001_HELLO_WORLD"
},
{
"type":"click",
"name":"贊一下我們",
"key":"V1001_GOOD"
}]
}]
}";

$wechatObj = new wechatCallbackapiTest();
$wechatObj->post($wechatObj->get_access_token(), $data);

class wechatCallbackapiTest
{
public function get_access_token(){
$json=http_request_json($token_url);
$data=json_decode($json,true);
if($data['access_token']){
return $data['access_token'];
}else{
return "擷取access_token錯誤";
}
}

public function http_request_json($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}

public function post($access_token, $jsonData){
$ch = curl_init("https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token) ;
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS,$jsonData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));

$result = curl_exec($ch) ;
curl_close($ch) ;
return $result;
}
}

?>

------解決方案--------------------
我記得菜單在官方的文檔有例子的
至於調試,應該官方會拋出錯誤編號方便你判斷的吧.
------解決方案--------------------
引用:
Quote: 引用:

我記得菜單在官方的文檔有例子的
至於調試,應該官方會拋出錯誤編號方便你判斷的吧.

官方拋的錯誤應該是在伺服器上啊,他又不會直接拋到介面上,我就是問我在伺服器哪裡去看這個錯誤


根據我的經驗 大凡API調用之後都應該有個callback...回調
------解決方案--------------------
引用:
還有一個問題,我該怎麼調試這種的php開發,在伺服器上哪個地方可以看到日誌(就是類似echo的值)?我是用xampp搭建的伺服器

調試在開發人員平台有提供調試的平台,不過我感覺最好自己做好程式的拋錯(exception)處理,這樣會根據調試平台上的資訊可以知道自己的問題出在哪裡。我個人喜歡PHP,這是我的部落格http://www.ihuxu.com,希望多多交流。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.