微信公众号开发(六)-- 关注公众号自动回复两条消息
昨天晚上临下班,客户提了个新需求,关注公众号的时候希望呢能自动回复两条信息。我,一个野生的菜鸡程序媛当时眼前就一黑,昨天还是圣诞节呢嘿。
咳。查了下,自动回复两条消息,其实除了欢迎信息再调用一次客服接口。
调用客服接口,回复文字信息
$content = 'Hello Word';
$data = '{ "touser" : "'.$openid.'",
"msgtype" : "text",
"text" : {
"content" : "'.$content.'"
}
}';
$url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$access_token;
$result = https_request($url , $data);
var_dump($result);
调用客服接口,回复图片信息
$data = '{ "touser" : "'.$openid.'",
"msgtype" : "image",
"image" : {
"media_id" : "uWG4UBbSTp2d8fHs3nYsSQURL3h7kvBi_kf19lkT4tM"
}
}';
$url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$access_token;
$result = https_request($url , $data);
var_dump($result);
图片的话需要media_id,就是上传给微信图片素材的返回值。
获取media_id
$path = 'images/fp.jpg' ; //路径填服务器上的相对路径
if (class_exists ( '\CURLFile' )) {//关键是判断curlfile,官网推荐php5.5或更高的版本使用curlfile来实例文件
$filedata = array (
'fieldname' => new \CURLFile ( realpath ( $path ), 'image/jpeg' )
);
} else {
$filedata = array (
'fieldname' => '@' . realpath ( $path )
);
}
$url = "http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token={$access_token}&type=image";
$result = https_request($url , $path);
$data = json_decode($result);
echo $data->media_id;
关注公众号,回复图文消息
$arr = array(
array(
'title'=>'家政扶贫助小康',
'description'=>"响应国家扶贫联盟号召,积极参与社会组织公益活动。",
'picUrl'=>'http://jiashijia.137oa.com/images/fp.jpg', //完整图片地址
'url'=>'https://www.baidu.com', //完整url
),
);
$template1 = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<ArticleCount>".count($arr)."</ArticleCount>
<Articles>";
foreach($arr as $k=>$v){
$template1 .="<item>
<Title><![CDATA[".$v['title']."]]></Title>
<Description><![CDATA[".$v['description']."]]></Description>
<PicUrl><![CDATA[".$v['picUrl']."]]></PicUrl>
<Url><![CDATA[".$v['url']."]]></Url>
</item>";
}
$template1 .="</Articles>
</xml> ";
var_dump(sprintf($template1, $touser, $fromuser, $time, 'news'));