微信公众号开发者模式可以支持自动回复回复文本、图片、图文、语音、视频以及音乐(参见 被动回复用户消息),下面是回复图片消息的返回结果格式:
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>12345678</CreateTime> <MsgType><![CDATA[image]]></MsgType> <Image> <MediaId><![CDATA[media_id]]></MediaId> </Image> </xml>
其中 MediaId 参数代表通过素材管理中的接口上传多媒体文件,得到的 media_id。那么我们通过程序如何获取 media_id 呢?
首先,我们需要在微信公众号后台绑定自己服务器的 IP。然后通过下面接口就你可以拿到 access_token:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=xxx&secret=xxx
比如:
[root@iteblog.com /]$ curl 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=1234&secret=4567' {"access_token":"11111222233334444","expires_in":7200}
上面我们就通过 curl 获取到了 access_token,有效期是三小时。然后我们可以通过下面的接口上传图片拿到 media_id:
[root@iteblog.com /]$ curl -X POST "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=40__mhdXE9P5mh36kkEx2MSWXKsWS97UQxMWPkzBssxrYt7VKP3Uzt1r1qG5P2iF-i-UVFz7fwRvt278lGjlWN4400XWmA9Wn_ihJtVefLAscMMwr26HzTeSqXMJ-leK4ScuLryyBUFdvueqSKgDIVhAHAHMZ&type=image" -F media=@./img/default_large_img.png -F description='{"title":123, "introduction":INTRODUCTION}' {"media_id":"123456","url":"http:\/\/mmbiz.qpic.cn\/mmbiz_png\/0yBD9iarX0nsjGoNqOCU7fibE0ZL1DdPYe92xLubqG7kn7FPaawEox4InpvibqJSe8hAAsAUUmhRgddv8ibZsEnkoQ\/0?wx_fmt=png","item":[]}
返回的结果里面的 media_id 就是我们刚刚上传图片的 id,url 代表上传图片的 url。
本博客文章除特别声明,全部都是原创!原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【微信公众号开发者模式自动回复图片】(https://www.iteblog.com/archives/9854.html)