微信自动回复图片 api标准接口的 php代码
实现的功能:客户在公众号上回复关键字,公众号自动回复一张图片
在微信开发的页面上,设置好触发的关键词,及触发后跳转到指定的接口地址,如http://www.aaa.com/picture.php
然后在网站服务器上创建picture.php文件,文件代码如下:
<?php
$wechatObj = new wechat();
$wechatObj->responseMsg();
class wechat {
public function responseMsg() {
//---------- 接 收 数 据 ---------- //
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //获取POST数据
//用SimpleXML解析POST过来的XML数据
$postObj = simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName; //获取发送方帐号(OpenID)
$toUsername = $postObj->ToUserName; //获取接收方账号
$keyword = trim($postObj->Content); //获取消息内容
$time = time(); //获取当前时间戳
//---------- 返 回 数 据 ---------- //
//返回消息模板
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Image>
<MediaId><![CDATA[%s]]></MediaId>
</Image>
<FuncFlag>0</FuncFlag>
</xml>";
$msgType = "image"; //消息类型
$contentStr = '填写你上传图片的MediaID'; //返回消息内容
//格式化消息模板
$resultStr = sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);
echo $resultStr; //输出结果
}
}
?>
这样,在微信服务号上输入对应的关键字,服务号上就会返回对应的图片。
MediaID的获取方法:
登陆微信公众平台->开发者工具->在线接口调试工具
接口类型选:基础支持
先获取access_token
access_token每次登陆都会变更
获取access_token后,接口列表选择多媒体文件上传接口
填入access_token,type选择image,media选择要回复的图片,图片上传成功后,就会返回一个MediaID,把它填入上面的代码中就可以了。