PHP实现微信公众号企业号自定义菜单接口示例
本文实例讲述了PHP实现微信公众号企业号自定义菜单接口。分享给大家供大家参考,具体如下:
define(AppId,"wx666cae44xxxxxx2");//定义AppId,需要在微信公众平台申请自定义菜单后会得到
define(AppSecret,"d77026a714d443a01d0229xxxxxxxx");//定义AppSecret,需要在微信公众平台申请自定义菜单后会得到
include("menu.php");//引入微信类
$wechatObj=newWechat();//实例化微信类
$creatMenu=$wechatObj->creatMenu();//创建菜单
微信类(menu.php)代码
classWechat
{
privatefunctiongetAccessToken()//获取access_token
{
$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".AppId."&secret=".AppSecret;
$data=getCurl($url);//通过自定义函数getCurl得到https的内容
$resultArr=json_decode($data,true);//转为数组
return$resultArr["access_token"];//获取access_token
}
publicfunctioncreatMenu()//创建菜单
{
$accessToken=$this->getAccessToken();//获取access_token
$menuPostString='{//构造POST给微信服务器的菜单结构体
"button":[
{
"name":"产品介绍",
"sub_button":[
{
"type":"view",
"name":"分销A型",
"url":"http://www.yourwebname.com/fenxiao/jianjie/soft.html"
},
{
"type":"view",
"name":"分销B型",
"url":"http://www.yourwebname.com/fenxiaob/jianjie/soft.html"
},{
"type":"view",
"name":"地接批发",
"url":"http://www.yourwebname.com/dijie/jianjie/soft.html"
},{
"type":"view",
"name":"精简组团",
"url":"http://www.yourwebname.com/zutuan/jianjie/soft.html"
},{
"type":"view",
"name":"直客网站",
"url":"http://www.yourwebname.com/tripal/jianjie/soft.html"
}]
},
{
"name":"申请试用",
"sub_button":[
{
"type":"click",
"name":"分销A型",
"key":"fxa"
},
{
"type":"click",
"name":"分销B型",
"key":"fxb"
},
{
"type":"click",
"name":"地接批发",
"key":"dj"
},
{
"type":"click",
"name":"精简组团",
"key":"zutuan"
},
{
"type":"click",
"name":"直客网站",
"key":"zhike"
}
]
},
{
"name":"博纵在线",
"sub_button":[
{
"type":"view",
"name":"企业介绍",
"url":"http://www.yourwebname.com/about.html"
},
{
"type":"view",
"name":"公司新闻",
"url":"http://www.yourwebname.com/news/company/"
},
{
"type":"view",
"name":"联系我们",
"url":"http://www.yourwebname.com/contact.html"
}
]
}
]
}';
$menuPostUrl="https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$accessToken;//POST的url
$menu=dataPost($menuPostString,$menuPostUrl);//将菜单结构体POST给微信服务器
}
}
functiongetCurl($url){//gethttps的内容
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//不输出内容
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
$result=curl_exec($ch);
curl_close($ch);
return$result;
}
functiondataPost($post_string,$url){//POST方式提交数据
$context=array('http'=>array('method'=>"POST",'header'=>"User-Agent:Mozilla/5.0(Windows;U;WindowsNT6.0;en-US)\r\nAccept:*/*",'content'=>$post_string));
$stream_context=stream_context_create($context);
$data=file_get_contents($url,FALSE,$stream_context);
return$data;
}
?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《PHP编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《PHP中json格式数据操作技巧汇总》及《PHP针对XML文件操作技巧总结》
希望本文所述对大家PHP程序设计有所帮助。