Maison  >  Article  >  interface Web  >  Comment envoyer des messages texte dans nodejs

Comment envoyer des messages texte dans nodejs

王林
王林original
2023-05-08 16:08:381177parcourir

Node.js est un environnement d'exploitation de serveur open source écrit en langage JavaScript. Il est efficace, rapide, léger et évolutif. Dans les applications pratiques, Node.js peut aider les développeurs à implémenter facilement diverses fonctions, notamment l'envoi de messages texte.

Dans cet article, nous détaillerons comment Node.js envoie des messages SMS et comment utiliser les services SMS existants pour réaliser cette fonctionnalité.

1. Utilisez Node.js pour envoyer des messages texte

1. Installer les dépendances

Tout d'abord, nous devons installer l'un des modules officiels de Node.js - "twilio", qui peut être installé via npm. commande :

npm install twilio

2. Vérifier l'identité

Avant d'utiliser l'API Twilio pour envoyer des messages texte, vous devez vérifier votre identité et obtenir le SID du compte et le jeton d'authentification. Ces deux paramètres se trouvent dans la console de Twilio.

3. Écrivez le code pour envoyer des messages texte

Nous utilisons l'API Twilio pour envoyer des messages texte. Le code dans Node.js est le suivant :

const accountSid = 'YOUR_ACCOUNT_SID';
const authToken = 'YOUR_AUTH_TOKEN';
const client = require('twilio')(accountSid, authToken);

client.messages
  .create({
     body: 'Hello from Node',
     from: '+1XXXXXXXXX', //在Twilio中您需要购买一个号码,
     to: '+1XXXXXXXXX'    //作为from参数输入,to是您的接收短信的电话号码。
   })
  .then(message => console.log(message.sid));

Après avoir exécuté le code ci-dessus, le message texte "Bonjour de Node" s'affichera. être envoyé sur votre téléphone.

2. Utilisez les services SMS existants pour envoyer des messages texte

Si vous ne souhaitez pas utiliser l'API Twilio, mais souhaitez utiliser certains services SMS existants pour envoyer des messages texte, voici quelques services SMS courants à choisir. à partir de :

1 .Tencent Cloud SMS Service

L'API Tencent Cloud SMS peut être appelée via le protocole HTTP/HTTPS et prend en charge les requêtes GET ou POST. Les paramètres utilisent le format de protocole HTTP standard (tel que key1=value1&key2=value2). Pour l'algorithme de signature, veuillez vous référer à la documentation de l'API SMS Tencent Cloud.

L'exemple de code est le suivant :

const request = require('request');
const querystring = require('querystring');

const appid = 'YOUR_APPID';
const appkey = 'YOUR_APPKEY';
const nationCode = '86' //中国区电话号码前缀
const phoneNumber = 'XXXXXXXXX' //接受短信的手机号码
const templateId = 'XXXXXX' //短信模板ID
const random = Math.floor(Math.random()*99999+1) //随机数
const curTime = Math.floor(new Date().getTime()/1000); //当前时间戳
const sig = querystring.escape(Buffer.from(`appkey=${appkey}&random=${random}&time=${curTime}&mobile=${nationCode}${phoneNumber}`, 'utf8').toString('base64'));

const options = {
    url: 'https://yun.tim.qq.com/v5/tlssmssvr/sendsms',
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    json: true,
    body: {
        tel: {
            nationCode,
            mobile: phoneNumber
        },
        tpl_id: templateId,
        params: [
            random.toString(),
            '5'
        ],
    },
    qs: {
        sdkappid: appid,
        random,
        time: curTime,
        sig,
        extend: '',
        ext: ''
    },
};

request(options, (error, response, body) => {
    if(error) {
        console.log(error);
    } else {
        console.log(body);
    }
});

2. Alibaba Cloud SMS Service

Alibaba Cloud SMS Service peut également être appelé via le protocole HTTP/HTTPS et fournit des SDK pour plusieurs langages de programmation tels que Java, PHP, Python et Node.js.

L'exemple de code est le suivant :

const Core = require('@alicloud/pop-core');

const client = new Core({
  accessKeyId: '<YourAccessKeyId>',
  accessKeySecret: '<YourAccessKeySecret>',
  endpoint: 'https://dysmsapi.aliyuncs.com',
  apiVersion: '2017-05-25'
});

const params = {
  "RegionId": "cn-hangzhou",
  "PhoneNumbers": "1500000000",
  "SignName": "阿里云短信测试专用",
  "TemplateCode": "SMS_71390007",
  "TemplateParam": "{\"code\":\"12345\"}"
}

const requestOption = {
  method: 'POST'
};

client.request('SendSms', params, requestOption).then((result) => {
    console.log(result);
}, (ex) => {
    console.log(ex);
})

3. Résumé

Grâce à l'introduction de cet article, nous pouvons comprendre comment Node.js envoie des messages texte, notamment en utilisant l'API Twilio et les services de messagerie texte existants tels que Tencent Cloud et Alibaba-Cloud. L'envoi de messages texte est l'une des fonctions couramment utilisées dans notre développement. Dans les applications réelles, nous devons la choisir en fonction de la situation spécifique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn