ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

第6章:移动端开发-02-移动开发腾讯云短信申请

第6章:移动端开发-02-移动开发腾讯云短信申请

5. 腾讯云短信申请

5.1 申请短信SMS试用

访问腾讯云短信网址:https://cloud.tencent.com/product/sms 点击免费领取短信

微信扫码登录,并进入短信控制台,点击快速入门创建短信签名

创建模板

稍微等待,审核通过才能使用

5.2 短信接口测试

创建应用可用于个性化管理短信发送任务,例如设置不同的发送频率和发送超量提醒等

创建完成,点击已创建应用查看应用详情,调用短信API发送短信时需要使用SDK AppID和App Key;

用户管理:https://console.cloud.tencent.com/cam

查看密钥https://console.cloud.tencent.com/cam/capi

选择自定义创建子账户

设置用户权限

创建完成后点击用户名:

查看密钥:

API文档网址:https://cloud.tencent.com/document/product/382/43194

在health_common项目添加腾讯云短信依赖

<!--腾讯云短信--> <dependency> <groupId>com.tencentcloudapi</groupId> <artifactId>tencentcloud-sdk-java</artifactId> <version>3.1.62</version><!-- 注:这里只是示例版本号,请获取并替换为 最新的版本号 --> </dependency>

工具类:

package com.liusp.utils; import com.tencentcloudapi.common.Credential; // 导入对应SMS模块的client import com.tencentcloudapi.sms.v20190711.SmsClient; import com.tencentcloudapi.sms.v20190711.models.SendSmsRequest; import com.tencentcloudapi.sms.v20190711.models.SendSmsResponse; import java.util.Random; /** * 腾讯云短信 */ public class SmsComponent { //腾讯云账户密钥对 secretId 和 secretKey private String secretId="AKIDPgiUyCArGPHtFLAn9E2btueE********"; private String secretKey="5tQhhRu61h5C2dx0nLcT6asuf*******"; //应用SDKAppID private String appid="1400658728"; //短信签名内容 private String sign="AAA管理系统公众号"; //模板 ID private String templateId="1360839"; private String[] phoneNumbers; public void sendSmsCode(String phone, String code) { try { //实例化一个认证对象,入参需要传入腾讯云账户密钥对 secretId 和 secretKey Credential cred = new Credential(secretId, secretKey); // 实例化 SMS 的 client 对象第二个参数是地域信息,可以直接填写字符串 ap-guangzhou,或者引用预设的常量 SmsClient client = new SmsClient(cred, ""); //实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数 SendSmsRequest req = new SendSmsRequest(); //短信应用 ID: 在 [短信控制台] 添加应用后生成的实际 SDKAppID,例如1400006666 req.setSmsSdkAppid(appid); /* 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名,可登录 [短信控制台] 查看签名信息 */ req.setSign(sign); /* 模板 ID: 必须填写已审核通过的模板 ID,可登录 [短信控制台] 查看模板 ID */ req.setTemplateID(templateId); /* 模板参数: 若无模板参数,则设置为空*/ String[] templateParams = {code,"5"}; req.setTemplateParamSet(templateParams); /* 下发手机号码,采用 e.164 标准,+[国家或地区码][手机号] * 例如+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号*/ phone = "+86" + phone; String[] phoneNumbers = {phone}; req.setPhoneNumberSet(phoneNumbers); /* 通过 client 对象调用 SendSms 方法发起请求。注意请求方法名与请求对象是对应的 * 返回的 res 是一个 SendSmsResponse 类的实例,与请求对象对应 */ SendSmsResponse res = client.SendSms(req); // 输出 JSON 格式的字符串回包 System.out.println(SendSmsResponse.toJsonString(res)); // 可以取出单个值,您可以通过官网接口文档或跳转到 response 对象的定义处查看返回字段的定义 System.out.println(res.getRequestId()); } catch (Exception e) { e.printStackTrace(); } } public static String randomCode() { StringBuilder str = new StringBuilder(); Random random = new Random(); for (int i = 0; i < 6; i++) { str.append(random.nextInt(10)); } return str.toString(); } public static void main(String[] args) { SmsComponent sc=new SmsComponent(); String code = SmsComponent.randomCode(); sc.sendSmsCode("手机号",code); System.out.println(code+"验证码发送成功!!!"); } }
返回列表