微信程序開發系列教程(三)使用微信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的原創技術文章,請關注公衆號"汪子熙"或者掃描下面二維碼:

相關文章
相關標籤/搜索