1.微信如果开启服务那么消息和事件通知(包括菜单)都会转到微信公众号后台配置的服务器URL.
微信请求的消息结构参考:
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>//开发者微信号
<FromUserName><![CDATA[fromUser]]></FromUserName>//发送者的openid
<CreateTime>1348831860</CreateTime>//消息创建时间 (整型)
<MsgType><![CDATA[text]]></MsgType>//什么类型的消息或通知
<Content><![CDATA[this is a test]]></Content>
<MsgId>1234567890123456</MsgId>
</xml>
关于事件以及消息接口文档
LINK: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141013
测试接口:
2.网页授权的access_token和基础的access_token区别:
网页授权access_token 是一次性的,而基础支持的access_token的是有时间限制的:7200s。
具体参考
LINK: https://www.cnblogs.com/wellsoho/p/5089409.html
3.微信上传图片到素材库-其他的文件类型同样参考这个
扫描二维码关注公众号,回复:
10552756 查看本文章
function upload_image($access_token, $src)
{
$imgUrl = ROOTPATH.'images/poster/' . $src;
$TOKEN=$access_token;
$URL ='https://api.weixin.qq.com/cgi-bin/material/add_material?access_token='.$TOKEN.'&type=image';//上传临时文件
$data = array('media'=>"@".$imgUrl);
$result = $this->http_post($URL,$data);
$res = @json_decode($result,true);
if(isset($res['media_id'])){//判断media_id是否有值
$res['state'] = 'success';
}else {
$res['state'] = 'error';
}
return $res;
}
function http_post($url, $data = null)
{
//创建一个新cURL资源
$curl = curl_init();
//设置URL和相应的选项
curl_setopt($curl, CURLOPT_URL, $url);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt ( $curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt ( $curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//执行curl,抓取URL并把它传递给浏览器
$output = curl_exec($curl);
//关闭cURL资源,并且释放系统资源
curl_close($curl);
return $output;
}