200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 项目接入腾讯云短信服务SMS实现向用户发送手机验证码

项目接入腾讯云短信服务SMS实现向用户发送手机验证码

时间:2019-12-10 09:00:22

相关推荐

项目接入腾讯云短信服务SMS实现向用户发送手机验证码

1、自述

早在的时候,我就在项目中使用过阿里云的短信服务,现在我上阿里云短信控制台看,还能看到当时创建的短信签名,如下图所示。

出于某种原因,我现在想重新申请一个新的签名,却审批失败了,原因是:

意思很明确,就是说你必须要有一个上线的应用(公网能访问的),自己个人学习或者做一些线下项目啊都是申请不到短信签名的,之前的时候并没有这么严格。

目前有两种方案:

买云服务器,买域名,备案域名去别的云看看?比如腾讯云、华为云等

第一种方案的话需要花钱,自己又只是个人用户,并没有需要上线的项目,所以这里先去腾讯云看看情况吧。

经过自己的一番研究之后,发现腾讯云也一样,需要有上线的项目才能申请到短信签名,但万幸的是腾讯云支持公众号和小程序,毕竟是自家的产品,而且公众号和小程序这两样我都有,因此就顺利申请到短信签名了。

2、腾讯云短信服务控制台

一般的步骤是:申请短信签名->申请短信模板->发短信测试,模板就像下面这样的,

其中{1}、{2}是变量,现在我们在腾讯云短信服务控制台上发一条短信试试。

腾讯云短信服务控制台链接:https://console./smsv2

新建群发任务,如下图所示:

上传短信变量文件,比如csv格式文件内容如下所示:

客户手机号,短信内容变量1,短信内容变量2131########,162626,5156########,162627,5

最后点击确定,等待审核通过后就能收到短信了。

3、Java SDK发送短信

实际情况下我们会在项目中调用腾讯云的SDK去发送短信,这里演示Java SDK。

Maven依赖:

<dependency><groupId>com.tencentcloudapi</groupId><artifactId>tencentcloud-sdk-java</artifactId><!-- go to /search?q=tencentcloud-sdk-java and get the latest version. --><!-- 请到/search?q=tencentcloud-sdk-java查询所有版本,最新版本如下 --><version>4.0.11</version></dependency>

腾讯云短信服务相关接口Java SDK文档:/document/product/382/43194

这个文档写的很详细了,我就没必要再重写一遍了,下面展示一下我的发短信的测试代码(最简原则,去掉非必须的代码):

// 1.构造认证对象Credential cred = new Credential("secretId", "secretKey");// 2.构造客户端配置HttpProfile httpProfile = new HttpProfile();httpProfile.setReqMethod("POST");httpProfile.setEndpoint("");ClientProfile clientProfile = new ClientProfile();clientProfile.setHttpProfile(httpProfile);// 3.构造客户端SmsClient client = new SmsClient(cred, "ap-guangzhou",clientProfile);// 4.请求参数String sdkAppId = "";String signName = "";String templateId = "";String[] templateParamSet = {""};String[] phoneNumberSet = {""};// 5.构造请求对象SendSmsRequest req = new SendSmsRequest();req.setSmsSdkAppid(sdkAppId);req.setSign(signName);req.setTemplateID(smsSendRequest.getTemplateId());req.setTemplateParamSet(templateParamSet);req.setPhoneNumberSet(phoneNumberSet);// 6.发送请求SendSmsResponse res = null;try {res = client.SendSms(req);} catch (TencentCloudSDKException e) {log.error(e.getMessage(),e);}log.info(SendSmsResponse.toJsonString(res));

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。