ホームページ >ウェブフロントエンド >フロントエンドQ&A >Nodejsでテキストメッセージを送信する方法

Nodejsでテキストメッセージを送信する方法

王林
王林オリジナル
2023-05-08 16:08:381202ブラウズ

Node.js は、JavaScript 言語で書かれたオープン ソースのサーバー オペレーティング環境であり、効率的、高速、軽量、スケーラブルです。実際のアプリケーションでは、Node.js を使用すると、開発者はテキスト メッセージの送信などのさまざまな機能を簡単に実装できます。

この記事では、Node.js がテキスト メッセージを送信する方法と、既存の SMS サービスを使用してこの機能を実現する方法について詳しく説明します。

1. Node.js を使用してテキスト メッセージを送信する

1. 依存関係をインストールする

まず、Node.js の公式モジュールの 1 つ (twilio) をインストールする必要があります。 npm 経由でインストールするには、次のコマンドを実行します:

npm install twilio

2. ID の確認

Twilio API を使用してテキスト メッセージを送信する前に、ID を確認してアカウント SID を取得する必要があります。および認証トークン、これら 2 つのパラメータは Twilio のコンソールにあります。

3. テキスト メッセージを送信するコードを作成します

Twilio API を使用してテキスト メッセージを送信します。Node.js のコードは次のとおりです。上記のコードでは、「ノードからこんにちは」というテキスト メッセージが電話に送信されます。

2. 既存の SMS サービスを使用してテキスト メッセージを送信する

Twilio API を使用したくないが、既存の SMS サービスを使用してテキスト メッセージを送信したい場合は、次のとおりです。いくつかの一般的なテキスト メッセージ 選択できるサービス:

1. Tencent Cloud SMS サービス

Tencent Cloud SMS API は HTTP/HTTPS プロトコルを通じて呼び出すことができ、GET または POST リクエストをサポートします。パラメータには標準の HTTP プロトコル形式 (key1 =value1&key2=value2 など) が使用されます。署名アルゴリズムについては、Tencent Cloud SMS API ドキュメントを参照してください。

サンプル コードは次のとおりです:

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));

2. Alibaba Cloud SMS サービス

Alibaba Cloud SMS サービスは、HTTP/HTTPS プロトコルを通じて呼び出すこともでき、Java を提供します。 、PHP、Python、および Node.js などの複数のプログラミング言語用の SDK。

サンプル コードは次のとおりです:

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);
    }
});

3. 概要

この記事の導入部を通じて、Twilio の使用を含め、Node.js がテキスト メッセージを送信する方法を理解できます。 API と Tencent Cloud および Alibaba Cloud などの既存の SMS サービスを使用します。テキストメッセージの送信は開発においてよく使われる機能の一つですが、実際のアプリケーションでは状況に応じて選択する必要があります。

以上がNodejsでテキストメッセージを送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。