调用SMS腾讯云短信验证码API的几个坑,及详细使用流程

前言
首先说下,几个坑已解决。准备说一下。使用的一些步骤
因为项目有一个短信验证码登录注册的,首先注册的是阿里的。但是审核没有审核通过,所以有注册了腾讯的
阿里登陆出错
本来向截图一下阿里的,结果登录出错了,这里就不说了。我直接说腾讯的把,
腾讯SMS短信
https://console.cloud.tencent.com/smsv2/csms-sign/create
首先注册签名,这里有一个要求。但是感觉没阿里那么严格。我用的是网址。注册(签名内容填写网址全称,或简称。证明哪里就截图你网址备案的资料,申请说明填写网站域名)上面都有说

其次是申请短信模板。
腾讯短信模板
短信API
,好了准备工作都差不都了。接下来就是写代码了。写代码肯定要用腾讯封装的SDK。 我是java
https://cloud.tencent.com/document/sdk 不同的语言,去这里下载

腾讯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 这是网址
腾讯API文档

    这里有好几个文档。还是比较友好,我选择的是API3.0

腾讯短信API文档

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;

/**
 * sms短信发送
 */

@SpringBootTest
@RunWith(SpringRunner.class)
public class SendSms {
    @Autowired
    TengXunSMSConfig smsConfig;

    @Test
    public void sendSmsSend() {
        try {

            Credential cred = new Credential(smsConfig.getSecretId(), smsConfig.getSecretKey());
            SmsClient client = new SmsClient(cred, "ap-nanjing");
            // 实例化一个请求对象,每个接口都会对应一个request对象
            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);

            // 返回的resp是一个SendSmsResponse的实例,与请求对象对应
            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网站进行获取

java短信验证码代码
好了,基本OK了。如果有看到不了解的可以问我。

踩的几个坑就是那个maven SDK ,和签名名称,找他的SDK和API文档也找了好一会。 解决的办法就是,试错。 各种试吧,因为查了百度和博客。也没太看见这方面的文章。如果对你有帮助的话。希望点赞评论噢!
JAVA短信API

SMS短信API 名 称:SMS API 版 本:V1.1(built 2004.02.29) 功 能:通过短信网关发送手机短信 作 者:Starboy (starboy@xdevelop.net) Longlybug (sales@xdevelop.net) 网 址:http://www.xdevelop.net 简介   SMS API(for java)是一个通过网关发送手机短信JAVA开发包,提供了方便的开发应用接口,JAVA开发者可利用它轻松的定制出各类短信应用平台,如:企业OA应用中的短信提醒、网站中的定单短信提醒、交友平台的手机短信互动等等。短信应用开发者无需再去关心网关协议,或者研究与手机间的通信指令等。使用API,开发者无需关心其它细节,只需调用API,即可实现手机短信应用中最常用的短信发送功能。 功能特点 支持移动和联通手机,自动识别 SMS API实现了短信即时发送和定时发送。支持联通和移动手机,发送时无需关心目标手机运营商,自动识别移动和联通。整体成功率约90%左右。   发送性能优异稳定 API使用的网关服务器拥有多线程发送能力,每秒可同时处理数十个客户端的并发求。   平台无关性 客户端适用于任何可运行JAVA的平台,包括:Windows、LINUX、UNIX、MAC等。 不像DLL接口,只能运行于WINDOWS平台。 对于WEB应用来说,本API可运行于任何J2EE规范的应用服务器。   接口简洁易用 短信API的接口非常简单,封装了与短信服务器网关的通讯,调用者无需关心底层通讯细节。   无硬件设备要求 只要能上INTERNET网即可使用API发送短信,无需购买任何手机硬件、短信MODEM、短信卡、数据线等。   费用低廉,接入简单 只需缴纳一定量的接入费并签定短信内容保证书,即可立刻拥有自己的短信平台,每条短信的发送费用为0.1元,可根据需要随时充值。   适合用户 本平台适合那些对短信功能要求比较单一,以及每日发送量不大的各类应用。 安装部署   SMS API开发包由两个文件组成,一个是smsclient.jar:API程序文件,另一个是sms.ini:程序配置文件。   对于JAVA桌面应用程序,需将smsclient.jar加入classpath,并将sms.ini放于classpath所在的一个目录   对于JSP WEB应用程序,可将smsclient.jar放入对应WEB应用的WEB-INF/lib/目录下,并将sms.ini放于WEB-INF/classes/根目录下。   关于API使用sms.ini的配置,参看doc目录下的API使用说明和API文档。   试用版的功能限制   试用版只能发5条短信! 购买联系   欢迎您注册本软件,与双子星工作室的程先生联系:   EMAIL:sales@xdevelop.net   OICQ:33450   网址:http://www.xdevelop.net   TEL:13510015276   如果您有任何疑问,也通过以上方式同我们联系,谢谢您的支持!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Silence丶你的名字

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值