[实用文档]idea搭建腾讯云短信服务

默认已经创建好项目 若没有创建项目参考联链接:https://blog.csdn.net/qq_36254699/article/details/91126775

一、登录腾讯云

[实用文档]idea搭建腾讯云短信服务_第1张图片

二、打开短信接口

[实用文档]idea搭建腾讯云短信服务_第2张图片

三、添加应用

[实用文档]idea搭建腾讯云短信服务_第3张图片

四、添加成功后点进去查看

[实用文档]idea搭建腾讯云短信服务_第4张图片

五、按要求创建模板

[实用文档]idea搭建腾讯云短信服务_第5张图片
[实用文档]idea搭建腾讯云短信服务_第6张图片

六、重点:编写代码

1.API文档地址:API链接

2.Java SDK文档链接:Java SDK链接

3.Maven官方提供三种方法,我们采用第一种

[实用文档]idea搭建腾讯云短信服务_第7张图片

4.添加代码

[实用文档]idea搭建腾讯云短信服务_第8张图片补充知识:Maven文件结构
1:官方英文说明链接
2.翻译:
标准目录布局简介
拥有一个通用的目录布局将允许熟悉一个Maven项目的用户立即在另一个Maven项目中感到宾至如归。优点类似于采用站点范围的外观。

[实用文档]idea搭建腾讯云短信服务_第9张图片
在顶层,描述项目的文件:pom.xml文件。此外,还有一些文本文档供用户在接收源时立即读取:README.txt,LICENSE.txt等。

这个结构只有两个子目录:src和target。这里预期的唯一其他目录是CVS,.git或.svn等元数据,以及多项目构建中的任何子项目(每个子项目都将按上面的方式布局)。

在目标目录用于容纳生成的所有输出。

该SRC目录包含了所有的源材料的建设项目,其网站等等。它包含每种类型的子目录:main用于主构建工件,测试单元测试代码和资源,站点等。

在工件生成源目录(即main和test)中,有一个用于语言java的目录(在其下存在正常的包层次结构),还有一个用于资源(在给定默认资源定义的情况下复制到目标类路径的结构) )。

如果工件构建还有其他贡献源,则它们将位于其他子目录下:例如,src / main / antlr将包含Antlr语法定义文件。

5.新建java文件

[实用文档]idea搭建腾讯云短信服务_第10张图片

添加以下代码:

import com.github.qcloudsms.SmsMultiSender;
import com.github.qcloudsms.SmsMultiSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;
import org.json.JSONException;
import java.io.IOException;


public class QcloudSmsTest {

    public static void main(String[] args) {
        // 短信应用SDK AppID
        int appid = SDK AppID; // 1400开头

        // 短信应用SDK AppKey
        String appkey = "SDK AppKey";

        // 需要发送短信的手机号码
        String[] phoneNumbers = {"12345678900"};

        // 短信正文模板ID,需要在短信应用中申请
        // NOTE: 这里的模板ID`7839`只是一个示例,
        // 真实的模板ID需要在短信控制台中申请
        int templateId =  短信正文模板ID;

        // 签名
        // NOTE: 这里的签名"腾讯云"只是一个示例,
        // 真实的签名需要在短信控制台中申请,另外
        // 签名参数使用的是`签名内容`,而不是`签名ID`
        String smsSign = "签名内容";

        // 单发短信
        try {
            SmsSingleSender ssender = new SmsSingleSender(appid, appkey);
            SmsSingleSenderResult result = ssender.send(0, "86", phoneNumbers[0],
                    "【腾讯云】您的验证码是: 5678", "", "");
            System.out.print(result);
        } catch (HTTPException e) {
            // HTTP响应码错误
            e.printStackTrace();
        } catch (JSONException e) {
            // json解析错误
            e.printStackTrace();
        } catch (IOException e) {
            // 网络IO错误
            e.printStackTrace();
        }


        // 指定模板ID单发短信
        try {
            String[] params = {"变量{n}中的内容"};
            SmsMultiSender msender = new SmsMultiSender(appid, appkey);
            SmsMultiSenderResult result =  msender.sendWithParam("86", phoneNumbers,
                    templateId, params, smsSign, "", "");  // 签名参数未提供或者为空时,会使用默认签名发送短信
            System.out.print(result);
        } catch (HTTPException e) {
            // HTTP响应码错误
            e.printStackTrace();
        } catch (JSONException e) {
            // json解析错误
            e.printStackTrace();
        } catch (IOException e) {
            // 网络IO错误
            e.printStackTrace();
        }

        // 拉取短信回执以及回复
        try {
            // Note: 短信拉取功能需要联系腾讯云短信技术支持(QQ:3012203387)开通权限
            int maxNum = 10;  // 单次拉取最大量
            SmsStatusPuller spuller = new SmsStatusPuller(appid, appkey);

            // 拉取短信回执
            SmsStatusPullCallbackResult callbackResult = spuller.pullCallback(maxNum);
            System.out.println(callbackResult);

            // 拉取回复
            SmsStatusPullReplyResult replyResult = spuller.pullReply(maxNum);
            System.out.println(replyResult);
        } catch (HTTPException e) {
            // HTTP响应码错误
            e.printStackTrace();
        } catch (JSONException e) {
            // json解析错误
            e.printStackTrace();
        } catch (IOException e) {
            // 网络IO错误
            e.printStackTrace();
        }

        // 拉取单个手机短信状态
        try {
            int beginTime = 1511125600;  // 开始时间(unix timestamp)
            int endTime = 1511841600;    // 结束时间(unix timestamp)
            int maxNum = 10;             // 单次拉取最大量
            SmsMobileStatusPuller mspuller = new SmsMobileStatusPuller(appid, appkey);

            // 拉取短信回执
            SmsStatusPullCallbackResult callbackResult = mspuller.pullCallback("86",
                    phoneNumbers[0], beginTime, endTime, maxNum);
            System.out.println(callbackResult);

            // 拉取回复
            SmsStatusPullReplyResult replyResult = mspuller.pullReply("86",
                    phoneNumbers[0], beginTime, endTime, maxNum);
            System.out.println(replyResult);
        } catch (HTTPException e) {
            // HTTP响应码错误
            e.printStackTrace();
        } catch (JSONException e) {
            // json解析错误
            e.printStackTrace();
        } catch (IOException e) {
            // 网络IO错误
            e.printStackTrace();
        }
    }
}

6.结果

在这里插入图片描述返回值为0代表发送正常,返回其他值请参考错误代码。
样例:
[实用文档]idea搭建腾讯云短信服务_第11张图片

你可能感兴趣的:(实用文档)