騰訊雲短信平台的操作
登陸騰訊雲平台https://cloud.tencent.com/,登陸成功後搜尋短信,進入短信産品的控制台,新使用者也許可以免費領取一定額度的免費短信。進入短信平台後,需要建立簽名和建立正文模闆。
這兩步都需要稽核,按照指引填寫即可。
建立短信簽名和模版
簽名建立成功并稽核通過後,在控制台可以看到簽名的id和簽名的内容,其中簽名的内容在後續的開發中會用到。
短信正文模版建立成功和通過後,可以看到模版的ID和模版的内容,模版的内容可以用占位符{number},比如以下的短信正文模版:
TSF應用告警:告警标題:{1},告警内容:{2}。
上面的模版含有2個參數,在後續會有用到。
建立應用
在短信平台中的應用管理裡建立應用(如果有可以不用建立),建立成功後,有個SDK AppID,這個在後續中會用到
建立secretId和secretKey
secretid和secretKey在https://console.cloud.tencent.com/cam/capi中建立,secretid和secretKey具有非常高的通路權限,不能随意洩露給别人。
購買短信包
如果沒有短信額度,調用api報錯。
sdk開發
sdk引入
在java應用的pom應用引入以下的sdk依賴,建議在導入sdk之前,在maven倉庫中查詢最新的sdk版本,本文的sdk版本為3.0.112。
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId>
<!-- go to https://search.maven.org/search?q=tencentcloud-sdk-java and get the latest version. -->
<!-- 請到https://search.maven.org/search?q=tencentcloud-sdk-java查詢最新版本 -->
<version>3.0.112</version>
</dependency>
代碼實作:
具體的代碼見下面,參數說明見代碼的注釋:
public static void main(String[] args) {
// 執行個體化一個認證對象,入參需要傳入騰訊雲賬戶secretId,secretKey,見《建立secretId和secretKey》小節
Credential cred = new Credential("2s2e22",
"seceawwwe");
// 執行個體化要請求産品(以cvm為例)的client對象
ClientProfile clientProfile = new ClientProfile();
clientProfile.setSignMethod(ClientProfile.SIGN_TC3_256);
SmsClient smsClient = new SmsClient(cred, "ap-chongqing");//第二個ap-chongqing 填産品所在的區
SendSmsRequest sendSmsRequest = new SendSmsRequest();
sendSmsRequest.setSmsSdkAppid("140102072921");//appId ,見《建立應用》小節
String[] phones={"+8615007187307"}; //發送短信的目标手機号,可填多個。
sendSmsRequest.setPhoneNumberSet(phones);
sendSmsRequest.setTemplateID("4976412"); //模版id,見《建立短信簽名和模版》小節
String [] templateParam={"應用離線了","應用記憶體溢出,應用down了"};//模版參數,從前往後對應的是模版的{1}、{2}等,見《建立短信簽名和模版》小節
sendSmsRequest.setTemplateParamSet(templateParam);
sendSmsRequest.setSign("騰訊雲傳遞中心"); //簽名内容,不是填簽名id,見《建立短信簽名和模版》小節
try {
SendSmsResponse sendSmsResponse= smsClient.SendSms(sendSmsRequest); //發送短信
System.out.println(sendSmsResponse.toString());
} catch (TencentCloudSDKException e) {
e.printStackTrace();
}
}