前言:
此刻大家对“java实现发短信”大概比较着重,我们都想要学习一些“java实现发短信”的相关资讯。那么小编在网上网罗了一些对于“java实现发短信””的相关资讯,希望咱们能喜欢,姐妹们快快来了解一下吧!前言
提到短信接口,相信每一位程序猿都不会陌生,它可以来帮助我们实现短信验证码、短信通知等等功能,刚好最近在帮朋友开发一套会员管理系统,里面也集成了短信功能(短信接口平台选择的是腾讯云平台),借此机会就和大家分享一下Java代码如合调用腾讯云平台的短信接口。
顺便提一句~目前大部分短信接口平台都需要商家或公司认证才可以使用,而且每一家平台的短信价格也都不相同,如果你只是想个人学习的话,本人比较推荐腾讯云平台(个人认证即可使用;认证后赠送测试短信;购买价格相对较低;接口文档详细)。
注册腾讯云平台并申请签名
想使用腾讯云的短信接口,需要先做点准备工作~ 首先就是注册一个腾讯云平台(腾讯云链接:cloud.tencent.com/)账号并进入控制台,在左上角的“云产品”中找到“短信”,进入到短信控制台。
接下来就是需要认证账号、申请签名和短信模板了,我认证的账号是个人账号,在申请签名时“签名类型”选择的是“公众号”(如果签名类型选择公众号的话,就需要先去微信开放平台申请一个微信公众号,再来申请短信签名),后面按照提示一步一步的操作就可以了。
申请短信模板时需要注意的是,需要在签名通过后再申请短信模板,否则模板的申请是很难通过的。
以上就是前期的准备工作,废话不多说了,直接上代码
调用短信接口
public static void sendMessage(String phoneNumber) { try{ // 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密 // 密钥可前往网站进行获取 Credential cred = new Credential(secretId, secretKey); // 实例化一个http选项,可选的,没有特殊需求可以跳过 HttpProfile httpProfile = new HttpProfile(); httpProfile.setEndpoint("sms.tencentcloudapi.com"); // 实例化一个client选项,可选的,没有特殊需求可以跳过 ClientProfile clientProfile = new ClientProfile(); clientProfile.setHttpProfile(httpProfile); // 实例化要请求产品的client对象,clientProfile是可选的 SmsClient client = new SmsClient(cred, "ap-beijing", clientProfile); // 实例化一个请求对象,每个接口都会对应一个request对象 SendSmsRequest req = new SendSmsRequest(); String[] phoneNumberSet = {phoneNumber}; //短信接受号码 req.setPhoneNumberSet(phoneNumberSet); req.setSmsSdkAppId("xxxxx"); //SdkAppId req.setSignName("xxxxx"); //短信签名 req.setTemplateId("xxxxx"); //短信模板ID //设置参数 String[] templateParamSet = {DateUtils.getDate(),phoneNumber}; req.setTemplateParamSet(templateParamSet); // 返回的resp是一个SendSmsResponse的实例,与请求对象对应 SendSmsResponse resp = client.SendSms(req); // 输出json格式的字符串回包 System.out.println(SendSmsResponse.toJsonString(resp)); } catch (TencentCloudSDKException e) { System.out.println(e.toString()); } }复制代码
调用接口时有几点需要注意一下:
访问console.cloud.tencent.com/cam/capi进入到“访问管理控制台”,在“访问密钥”→“API密钥管理”中获取secretId和secretKeySdkAppId的获取方式是打开“短信控制台”→“应用管理”→“应用列表”,在应用列表中即可看到应用所对应的SdkAppId==req.setSignName("xxxxx"); 设置的是申请下来的签名的内容,并非签名ID==在设置参数时,参数的顺序要与模板设置的{1}、{2}...相对应,如果你的腾讯云平台账号认证的是个人账号,那么参数的长度也会有相应的限制(参数长度不能大于12)小结
本人经验有限,有些地方可能讲的没有特别到位,如果您在阅读的时候想到了什么问题,欢迎在评论区留言,我们后续再一一探讨
希望各位小伙伴动动自己可爱的小手,来一波点赞+关注 (✿◡‿◡) 让更多小伙伴看到这篇文章~ 蟹蟹呦(●'◡'●)
如果文章中有错误,欢迎大家留言指正;若您有更好、更独到的理解,欢迎您在留言区留下您的宝贵想法。
爱你所爱 行你所行 听从你心 无问东西
作者:不肯过江东丶
链接:
标签: #java实现发短信