微信程序開發系列教程(三)使用微信API給微信用戶發文本消息

這個系列的第二篇教程,介紹的實際是被動方式給微信用戶發文本消息,即微信用戶關注您的公衆號時,微信平臺將這個關注事件經過一個HTTP post發送到您的微信消息服務器上。您對這個post請求作了應答(格式爲文本),則該應答會經過微信平臺投遞到您粉絲的微信應用上。javascript

微信開發者中心的文檔將這種行爲稱爲「被動回覆用戶消息」:java

回覆消息報文的格式在開發者文檔裏也有清晰的定義,是一個xml格式的字符串。個人第二篇教程裏也有具體的發送該報文的代碼示例。node

本文做爲這個開發系列的第三篇教程,介紹的是如何用API的方式,主動向某個粉絲髮送文本消息。json

如何找到合適的微信消息發送API呢?仍是登陸微信開發者中心,在控制檯菜單「客服消息」裏,api

客服接口-發消息就是咱們須要使用的API。url以下:https://api.weixin.qq.com/cgi...;傳入您的access token>服務器

爲了使用這個API,咱們首先須要得到調用API的access token:微信

Access token的獲取很簡單,用Appid和secret去換。微信開發

調用另外一個API,https://api.weixin.qq.com/cgi...;您微信公衆號的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的原創技術文章,請關注公衆號"汪子熙"或者掃描下面二維碼:

相關文章
相關標籤/搜索