上一篇文章:nodejs微信公众号开发——7.用户管理,主要介绍了用户管理的一些经常使用接口,包括用户分组、设置备注名、获取用户基本信息等。本节微信高级群发接口(项目github地:https://github.com/Panfen/wem... )html
在公众平台网站上,为订阅号提供了天天一条的群发权限,为服务号提供每个月(天然月)4条的群发权限。而对于某些具有开发能力的公众号运营者,能够经过高级群发接口,实现更灵活的群发能力。须要注意的点:node
\<a>
标签加入外链;和以前的步骤实际上是同样的,先在api中定义请求的url地址:git
var api = { ... mass:{ sendall:prefix+'message/mass/sendall?', //access_token=ACCESS_TOKEN 群发消息 } }
在实现具体函数的时候,须要注意请求的body
内容由于发送消息的类型不一样而呈现差别化,须要特别留意,查看官方文档,根据分组进行群发【订阅号与服务号认证后都可用】github
Wechat.prototype.massSendMsg = function(type,message,groupid){ var that = this; var msg = { filter:{}, msgtype:type } if(!groupid){ msg.filter.is_to_all = true }else{ msg.filter.is_to_all = false; msg.filter.group_id = groupid; } msg[type] = message; return new Promise(function(resolve,reject){ that.fetchAccessToken().then(function(data){ var url = api.mass.sendall + 'access_token=' + data.access_token; request({method:'POST',url:url,body:msg,json:true}).then(function(response){ var _data = response.body; if(_data.errcode === 0){ resolve(_data); }else{ throw new Error('send mass message failed: ' + _data.errmsg); } }).catch(function(err){ reject(err); }); }); }); }
注意对msg
的处理。json
else if(content === '7'){ var text = { content:'这是群发消息测试唔~' }; var msg = yield wechatApi.massSendMsg('text',text,114); console.log('msg:'+ JSON.stringify(msg)); }