使用微信API主动发送文本消息的步骤如下:
获取Access Token
作用:Access Token是调用微信API的凭证,用于验证开发者身份。
获取方法:通过调用微信提供的API接口获取。具体URL为:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
。其中,APPID和APPSECRET是微信公众号的唯一标识,可在微信开发者中心的“测试号管理”页面找到。返回结果:该接口会返回一个JSON对象,包含access_token和expires_in(过期时间,单位为秒)两个字段。
调用客服消息接口发送文本消息
接口URL:
https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
。其中,ACCESS_TOKEN是上一步获取的Access Token。请求方法:POST。
请求体格式:JSON。需要包含以下字段:
touser:接收消息的用户的OpenID。
msgtype:消息类型,这里为text。
text:文本消息内容,是一个包含content字段的对象。
示例请求体:
{ "touser": "OPENID", "msgtype": "text", "text": { "content": "Hello World" }}const request = require('request');function sendTextMessage(toUser, sMessage) { const 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) { if (!error && response.statusCode === 200) { console.log('消息发送成功:', data); } else { console.error('消息发送失败:', error || data); } });}// 导出函数以便在其他模块中使用module.exports = sendTextMessage;- 在使用上述函数时,需要传入接收消息的用户的OpenID和要发送的文本消息内容。例如:
sendTextMessage('用户的OpenID', '这条消息是用Node.js发送的!');注意事项
Access Token的有效期通常为2小时,需要定期刷新。在实际应用中,应该将Access Token存储在缓存中,并在过期前重新获取。
微信API对调用频率有限制,需要避免频繁调用导致被限制。
在发送消息前,需要确保用户已经关注了公众号,并且公众号有权限向用户发送消息(例如,用户在过去48小时内与公众号有过交互)。