老师,请问这章节的内容是不是得用认证过的个人订阅号才能做测试?

来源:5-2 第五天 对分组群发消息

vincents

2017-10-31

按照第一节课讲的对分组群发接口调用,我不是报

{ errcode: 40152,

  errmsg: 'invalid group id hint: [T1MxOa0618ge25]' }

就是报

{ errcode: 40007,

  errmsg: 'invalid media_id hint: [Ikzd0a0440ge21]' }

我很郁闷,先看下这边代码

}  else if(content === '15'){

var mpnews = {

media_id : '********'

}

var groupId = 0;

var msgData = yield wechatApi.sendByGroup('mpnews',mpnews,groupId)

console.log(msgData)

reply = 'year~'

}

里面需要填写的media_id怎么查?根据wechatApi.fetchUsers获取到的media_id后怎么看它对应的groupId呢?我都不知道填什么?有点懵逼,老师能不能把这两个参数的来源细讲一下啊?


写回答

2回答

vincents

提问者

2017-11-01

那意思就是用测试公众号也可以测试吗?不需要认证吗

0
3
vincents
回复
Scott
按照教程走下去,根据标签进行群发的接口: Wechat.prototype.sendByGroup = function(type, message, groupId){ var that = this var groupUrl = api.mass.group var form = { filter:{}, msgtype:type } form[type] = message if(!groupId && groupId.length===0){ form.filter.is_to_all = true } else { form.filter = { is_to_all : false, tag_id: groupId } } return new Promise(function(resolve,reject){ that .fetchAccessToken() .then(function(data){ var url = groupUrl+'access_token='+data.access_token var options = { method:'POST', url:url, body:form, json:true } request(options).then(function(response){ var _data = response.body if(_data){ resolve(_data) } else { throw new Error('send group fails') } }) .catch(function(err){ reject(err) }) }) }) } 返回的是: { errcode: 48008, errmsg: 'no permission for this msgtype hint: [eMI3ba0217ge29]' } 看了网上有的人说是接口被禁止了,我也不是很确定,就剩下这个没有跑通了,求教导啊大神
2017-11-07
共3条回复

Scott

2017-11-01

yield wechatApi.sendByGroup('mpnews',mpnews,groupId) 这个挂了


首先要拿到 mpnews 的,mpnews 是通过素材接口获取的素材 ID,测试号应该是可以获取到的,不过你要先通过接口上传一些 news 素材到测试号,然后获取下来,从代码里看,你少了获取 news 的这一步,可以再看下官方文档,看看他们有没有新加什么参数。流程应该不会大变的

0
1
vincents
那老师是不是可以用测试公众号就可以了?需要认证吗?为什么文档说订阅号需要认证过的,有点迷
2017-11-01
共1条回复

7天搞定Node.js微信公众号

Koa框架、ES2015新特性、MongoDB,开发微信公众号

1742 学习 · 787 问题

查看课程