騰訊云短信測(cè)試 (云短信、短信驗(yàn)證碼)

App、網(wǎng)站中常有手機(jī)驗(yàn)證碼等需求,例如手機(jī)號(hào)注冊(cè),手機(jī)號(hào)登錄,密碼找回等。


image.png

手機(jī)注冊(cè)短信驗(yàn)證碼流程大致如下

  1. 用戶填寫手機(jī)號(hào),點(diǎn)擊獲取驗(yàn)證碼,發(fā)送手機(jī)號(hào)給服務(wù)端

  2. 服務(wù)端生成隨機(jī)驗(yàn)證碼,調(diào)用騰訊云短信接口向用戶手機(jī)發(fā)送短信。

  3. 騰訊云短信向用戶發(fā)送短信,短信包含驗(yàn)證碼。

  4. 用戶收到帶有驗(yàn)證碼的短信,在注冊(cè)界面輸入驗(yàn)證碼并提交注冊(cè)。

  5. 服務(wù)端收到用戶提交的驗(yàn)證碼,核對(duì)無誤,則允許注冊(cè)。
    一 注冊(cè)登錄

先進(jìn)行賬號(hào)注冊(cè),騰訊提供了免費(fèi)100條短信,足夠用于測(cè)試了。

騰訊云:https://console.cloud.tencent.com/smsv2

如果大量短信需求,則需要購(gòu)買。價(jià)格如下:

image

二 創(chuàng)建簽名

注冊(cè)完成后,點(diǎn)擊快速入門,這里會(huì)一步步引導(dǎo)你完成整個(gè)流程。首先創(chuàng)建短信簽名。

image

因?yàn)槲覜]有個(gè)人的app和小程序,只有網(wǎng)站,所以選擇簽名類型"網(wǎng)站",并填寫對(duì)應(yīng)的其它信息。

image

三 創(chuàng)建正文模板

騰訊提供了標(biāo)準(zhǔn)模板可供選擇,也可以自定義模塊。我這里選擇了一個(gè)標(biāo)準(zhǔn)模板 "您正在申請(qǐng)手機(jī)注冊(cè)..."

image

四 等待審核

等待審核,一般很快,幾分鐘我就過了。如果等了很久沒過,可以點(diǎn)擊列表右邊的"催審"。

簽名審核通過:

image

正文審核通過:

image

五 創(chuàng)建NodeJS服務(wù)器

需要下載騰訊云短信的nodejs版本SDK才能發(fā)送短信。具體參看:https://cloud.tencent.com/document/product/382/43197

image.png

const tencentcloud = require("tencentcloud-sdk-nodejs")
 
// 導(dǎo)入對(duì)應(yīng)產(chǎn)品模塊的client models。
const smsClient = tencentcloud.sms.v20210111.Client
 
/* 實(shí)例化要請(qǐng)求產(chǎn)品(以sms為例)的client對(duì)象 */
const client = new smsClient({
  credential: {
  /* 必填:騰訊云賬戶密鑰對(duì)secretId,secretKey。
   * 這里采用的是從環(huán)境變量讀取的方式,需要在環(huán)境變量中先設(shè)置這兩個(gè)值。
   * 你也可以直接在代碼中寫死密鑰對(duì),但是小心不要將代碼復(fù)制、上傳或者分享給他人,
   * 以免泄露密鑰對(duì)危及你的財(cái)產(chǎn)安全。
   * CAM密匙查詢: https://console.cloud.tencent.com/cam/capi */
    secretId: process.env.secretId,
    secretKey: process.env.secretKey,
  },
  /* 必填:地域信息,可以直接填寫字符串a(chǎn)p-guangzhou,或者引用預(yù)設(shè)的常量 */
  region: "ap-guangzhou",
  /* 非必填:
   * 客戶端配置對(duì)象,可以指定超時(shí)時(shí)間等配置 */
  profile: {
    /* SDK默認(rèn)用TC3-HMAC-SHA256進(jìn)行簽名,非必要請(qǐng)不要修改這個(gè)字段 */
    signMethod: "HmacSHA256",
    httpProfile: {
      /* SDK默認(rèn)使用POST方法。
       * 如果你一定要使用GET方法,可以在這里設(shè)置。GET方法無法處理一些較大的請(qǐng)求 */
      reqMethod: "POST",
      /* SDK有默認(rèn)的超時(shí)時(shí)間,非必要請(qǐng)不要進(jìn)行調(diào)整
       * 如有需要請(qǐng)?jiān)诖a中查閱以獲取最新的默認(rèn)值 */
      reqTimeout: 30,
      /**
       * SDK會(huì)自動(dòng)指定域名。通常是不需要特地指定域名的,但是如果你訪問的是金融區(qū)的服務(wù)
       * 則必須手動(dòng)指定域名,例如sms的上海金融區(qū)域名: sms.ap-shanghai-fsi.tencentcloudapi.com
       */
      endpoint: "sms.tencentcloudapi.com"
    },
  },
})
 
/* 請(qǐng)求參數(shù),根據(jù)調(diào)用的接口和實(shí)際情況,可以進(jìn)一步設(shè)置請(qǐng)求參數(shù)
 * 屬性可能是基本類型,也可能引用了另一個(gè)數(shù)據(jù)結(jié)構(gòu)
 * 推薦使用IDE進(jìn)行開發(fā),可以方便的跳轉(zhuǎn)查閱各個(gè)接口和數(shù)據(jù)結(jié)構(gòu)的文檔說明 */
const params = {
  /* 短信應(yīng)用ID: 短信SmsSdkAppId在 [短信控制臺(tái)] 添加應(yīng)用后生成的實(shí)際SmsSdkAppId,示例如1400006666 */
  SmsSdkAppId: "1400787878",
  /* 短信簽名內(nèi)容: 使用 UTF-8 編碼,必須填寫已審核通過的簽名,簽名信息可登錄 [短信控制臺(tái)] 查看 */
  SignName: "xxx",
  /* 短信碼號(hào)擴(kuò)展號(hào): 默認(rèn)未開通,如需開通請(qǐng)聯(lián)系 [sms helper] */
  ExtendCode: "",
  /* 國(guó)際/港澳臺(tái)短信 senderid: 國(guó)內(nèi)短信填空,默認(rèn)未開通,如需開通請(qǐng)聯(lián)系 [sms helper] */
  SenderId: "",
  /* 用戶的 session 內(nèi)容: 可以攜帶用戶側(cè) ID 等上下文信息,server 會(huì)原樣返回 */
  SessionContext: "",
  /* 下發(fā)手機(jī)號(hào)碼,采用 e.164 標(biāo)準(zhǔn),+[國(guó)家或地區(qū)碼][手機(jī)號(hào)]
   * 示例如:+8613711112222, 其中前面有一個(gè)+號(hào) ,86為國(guó)家碼,13711112222為手機(jī)號(hào),最多不要超過200個(gè)手機(jī)號(hào)*/
  PhoneNumberSet: ["+8613711112222"],
  /* 模板 ID: 必須填寫已審核通過的模板 ID。模板ID可登錄 [短信控制臺(tái)] 查看 */
  TemplateId: "449739",
  /* 模板參數(shù): 若無模板參數(shù),則設(shè)置為空*/
  TemplateParamSet: ["666"],
}
// 通過client對(duì)象調(diào)用想要訪問的接口,需要傳入請(qǐng)求對(duì)象以及響應(yīng)回調(diào)函數(shù)
client.SendSms(params, function (err, response) {
  // 請(qǐng)求異常返回,打印異常信息
  if (err) {
    console.log(err)
    return
  }
  // 請(qǐng)求正常返回,打印response對(duì)象
  console.log(response)
})

上面所需添加的信息均可以在管理臺(tái)找到

1 secretId和secretKey

API密鑰在 https://console.cloud.tencent.com/cam/capi ,需要新建一個(gè)。

image

2 SmsSdkAppId

應(yīng)用ID在應(yīng)用列表中

image

3 短信簽名和模板

可在簽名管理和正文模板管理中找到短信簽名和模板的ID等。

image

4 模板參數(shù)

我選擇模板有兩個(gè)變量{1}和{2}

image

填寫模板變量如下,短信內(nèi)容將會(huì)顯示 "驗(yàn)證碼為:12345,5分鐘內(nèi)有效"

TemplateParamSet: ["12345","5"],//進(jìn)行修改上面的配置

六 運(yùn)行發(fā)送短信
手機(jī)上收到了騰訊發(fā)送的短信,到此測(cè)試成功。

image.png

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容