生活随笔
收集整理的這篇文章主要介紹了
调用SMS腾讯云短信验证码API的几个坑,及详细使用流程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
首先說下,幾個坑已解決。準備說一下。使用的一些步驟
因為項目有一個短信驗證碼登錄注冊的,首先注冊的是阿里的。但是審核沒有審核通過,所以有注冊了騰訊的
本來向截圖一下阿里的,結果登錄出錯了,這里就不說了。我直接說騰訊的把,
https://console.cloud.tencent.com/smsv2/csms-sign/create
首先注冊簽名,這里有一個要求。但是感覺沒阿里那么嚴格。我用的是網址。注冊(簽名內容填寫網址全稱,或簡稱。證明哪里就截圖你網址備案的資料,申請說明填寫網站域名)上面都有說
其次是申請短信模板。
,好了準備工作都差不都了。接下來就是寫代碼了。寫代碼肯定要用騰訊封裝的SDK。 我是java
https://cloud.tencent.com/document/sdk 不同的語言,去這里下載
這里我選的是mvn 。這里有一個小坑。
注意:
這里的版本號只是舉例,您可以在 Maven 倉庫 上找到最新的版本。
Maven 倉庫 中顯示的4.0.11是廢棄版本,由于 Maven 索引更新問題尚未完全刪除。
若上面的引用方式會將騰訊云所有產品 SDK 下載到本地,可以將 artifactId 換成 tencentcloud-sdk-java-cvm/cbs/vpc 等,即可引用特定產品的 SDK,代碼中使用方式和大包相同,可參考示例。最新版本也可在 Maven倉庫 查詢,可大大節省存儲空間。
這幾個不必要的坑,我都踩了。第一個是他放的mvn不是最新的,需要mvn倉庫下載最新的。, Maven 倉庫 中顯示的4.0.11是廢棄版本 。我第一次就用了4.0.11 .結果死活拉不下來。
<dependency><groupId>com.tencentcloudapi
</groupId><artifactId>tencentcloud-sdk-java
</artifactId><version>3.1.313
</version></dependency>
我使用的是這個版本,SDK準備好了,開始看文檔。
https://cloud.tencent.com/document/api 這是網址
這里有好幾個文檔。還是比較友好,我選擇的是API3.0
package com
.tanhua
.sso
;import com
.tanhua
.sso
.config
.TengXunSMSConfig
;
import com
.tencentcloudapi
.common
.Credential
;
import com
.tencentcloudapi
.common
.exception
.TencentCloudSDKException
;
import com
.tencentcloudapi
.sms
.v20210111
.SmsClient
;
import com
.tencentcloudapi
.sms
.v20210111
.models
.SendSmsRequest
;
import com
.tencentcloudapi
.sms
.v20210111
.models
.SendSmsResponse
;
import org
.junit
.Test
;
import org
.junit
.runner
.RunWith
;
import org
.springframework
.beans
.factory
.annotation
.Autowired
;
import org
.springframework
.boot
.test
.context
.SpringBootTest
;
import org
.springframework
.test
.context
.junit4
.SpringRunner
;@SpringBootTest
@RunWith(SpringRunner
.class)
public class SendSms {@AutowiredTengXunSMSConfig smsConfig
;@Testpublic void sendSmsSend() {try {Credential cred
= new Credential(smsConfig
.getSecretId(), smsConfig
.getSecretKey());SmsClient client
= new SmsClient(cred
, "ap-nanjing");SendSmsRequest req
= new SendSmsRequest();String
[] phoneNumberSet1
= {"+86111111"};req
.setPhoneNumberSet(phoneNumberSet1
);req
.setSmsSdkAppId(smsConfig
.getSmsSdkAppId());req
.setTemplateId(smsConfig
.getTemplateId());req
.setSignName(smsConfig
.getSignName());String
[] params
= new String[]{"9527", smsConfig
.getTimeOut()};req
.setTemplateParamSet(params
);SendSmsResponse resp
= client
.SendSms(req
);String json
= SendSmsResponse
.toJsonString(resp
);System
.out
.println(json
);if (json
.contains("\"Code\":\"Ok\"")) {System
.out
.println("發送成功");} else {System
.out
.println("操作失敗");}} catch (TencentCloudSDKException e
) {System
.out
.println(e
.toString());}}}
這是我的代碼。因為我把其中的參數抽出來了。
還需要獲取最重要的密鑰TOken
// 實例化一個認證對象,入參需要傳入騰訊云賬戶secretId,secretKey,此處還需注意密鑰對的保密
// 密鑰可前往https://console.cloud.tencent.com/cam/capi網站進行獲取
好了,基本OK了。如果有看到不了解的可以問我。
踩的幾個坑就是那個maven SDK ,和簽名名稱,找他的SDK和API文檔也找了好一會。 解決的辦法就是,試錯。 各種試吧,因為查了百度和博客。也沒太看見這方面的文章。如果對你有幫助的話。希望點贊評論噢!
總結
以上是生活随笔為你收集整理的调用SMS腾讯云短信验证码API的几个坑,及详细使用流程的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。