准备工作:
由于调用微信接口采用的是https协议,所以我们需要用cURL来模拟https请求。那么我们就要了解用php建立cURL请求的基本步骤,举个例子说明一下。
例子:
public function cUrl_request($url,$data=null){//初始化$ch =curl_init();//设置optioncurl_setopt($ch,CURLOPT_URL,$url);//跳过SSL证书检查curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);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);}$output=curl_exec($ch);//请求失败,打印失败原因if(!$output){echo "发生错误!\n";var_dump(curl_error($ch));}//释放cURL句柄curl_close($ch);return $output;}
开始工作:
准备工作做完之后后面的就简单了,首先是获取access_token,这里通过腾讯给的接口获得,这里就需要用到上面的cURL_request函数了。再通过创建菜单的接口,加上获取的access_token和需要创建菜单的json格式的字符串数据。然后发送请求便能创建自定义菜单。
出错、查错、解决错误:
在这个过程中出现了很多低级错误,比如出现'errcode':'-1','errmsg':system error hint:[]错误和curl Unsupported protocol:https错误。
第一个主要是因为代码的编码格式没有设置成UTF-8无BOM格式。第二个是因为在https前多了空格。
总得来说还是实践太少,导致这些错误的产生和没这种意识。