您现在的位置是:网站首页 > 心得笔记
微信公众号开发——群发接口
简介群发接口是针对于服务号(每个月有4条群发消息的机会) 、订阅号(如果是订阅号,每天可以有一条群发消息的机会)
群发接口就是微信公众账号对已关注微信用户进行消息推送,推送类型有很多,单文本、单图文等
2、混淆点
在编辑模式下也可以进行群发接口的使用,但是是基于可视化的图文界面,对于开发者而言,在开发者模式下可以调用高级的群发接口的权限,两者是一样的,编辑模式可以做到可视化、可预览,开发者模式下更灵活。这里需要自己上传一些素材,图片、视频等,上传后会返回media_id。 在代码中调用media_id来标识你上传的资源、在群发消息中就会将对应的素材推动给我们的微信用户
3、media_id
图文接口、语音接口等都需要上传一个media_id,media_id可以理解成一个资源 你上传之后微信服务器会生成一个media_id 就相当于是他的一个唯一标识 你在发送群发消息接口时 你调用media_id其实就是调用他的url地址 他会映射。所以这些资源都要上传到微信公众平台 他会返回media_id
4、注意点
开发中使用测试号(认证后的服务号,每月4次群发消息)建议测试时调用预览接口,预览接口有100次,调用失败还可继续调用,调用成功后再调用正式接口通过openID来群发
5、代码实现部分
在前几篇文章的基础上添加方法:
//群发接口 public function sendMsgAll () { //1、获取全局access_token $access_token = $this->getWxAccessToken(); $url = 'https://api.weixin.qq.com/cgi-bin/message/mass/preview?access_token=' . $access_token; //2、组装群发接口数据 array //2.1、单文本格式 /*组装格式从官方文档拿下来 * { "touser":"OPENID", "text":{ "content":"CONTENT" }, "msgtype":"text" } */ $array = array ( 'touser' => 'ohQqz0uvRMOdPgQJHGVzX-IUBjyI',//微信用户的openID 'text' => array('content' => urlencode('群发接口数据组装')),//文本内容 'msgtype' => 'text',//消息类型 ); //3、将数组转成json格式 $postJson = urldecode(json_encode( $array )); //4、调用curl $res = $this->http_curl($url, 'post', 'json', $postJson); var_dump($res); }
演示效果图:
注意:因为我群发文本是中文,所以才会产生上面那三条群发消息格式,处理方法就是在中文前使用urlencode()转化
上一篇:微信公众号开发——自定义菜单
下一篇:微信公众号开发——模板消息接口