微信程序开发系列教程(三)使用微信API给微信用户发文本消息

这个系列的第二篇教程,介绍的实际是被动方式给微信用户发文本消息,即微信用户关注您的公众号时,微信平台将这个关注事件经过一个HTTP post发送到您的微信消息服务器上。您对这个post请求作了应答(格式为文本),则该应答会经过微信平台投递到您粉丝的微信应用上。javascript

微信开发者中心的文档将这种行为称为“被动回复用户消息”:java

回复消息报文的格式在开发者文档里也有清晰的定义,是一个xml格式的字符串。个人第二篇教程里也有具体的发送该报文的代码示例。node

本文做为这个开发系列的第三篇教程,介绍的是如何用API的方式,主动向某个粉丝发送文本消息。json

如何找到合适的微信消息发送API呢?仍是登陆微信开发者中心,在控制台菜单“客服消息”里,api

客服接口-发消息就是咱们须要使用的API。url以下:https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=<传入您的access token>服务器

为了使用这个API,咱们首先须要得到调用API的access token:微信

Access token的获取很简单,用Appid和secret去换。微信开发

调用另外一个API,https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=<您公众号的appid>&secret=<您公众号的secret>。这个API会返回access token以及过时时间。app

您公众号的appid和secret能够在微信开发者中心的控制台里找到,在“测试号管理”页面的标签页下。post

如今咱们拿到access token后,就能够调用微信文本消息发送API给指定微信用户发送文本消息了。看我下图这个postman里的调用。红色高亮的测试文本信息将经过微信API发送到我手机上:

测试成功了:

最后,咱们用nodejs实现经过API给指定用户发送文本信息。

function sendWCMeaasge(toUser,sMessage){
	var options = {
	url:"https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" +
	config.accessToken,
	method: "POST",
	json:true,
	headers: {
	"content-type": "application/json"},
	body:{
	"touser":toUser,
	"msgtype":"text",
	"text": {
	"content":sMessage
	}
	}
	};
	request(options,function(error,response,data){
	}
	);
}
module.exports = sendWCMeaasge;

消费代码:

sendMessage(<此处传入接收该消息的微信用户的openid>, "这条消息是用nodejs发送的!");

用node命名执行上面的代码,也能成功在微信app上接收到经过nodejs代码调用微信消息API的方式发送的文本消息。

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

相关文章
相关标签/搜索