1.百度智能云短信集成,提供了默认的sdk,不过这个sdk需要用到jdk中的 jdk.tools,所以jdk11没法用sdk.
maven集成
<dependency>
<groupId>com.baidubce</groupId>
<artifactId>bce-java-sdk</artifactId>
<version>0.10.154</version>
</dependency>
2.百度智能云短信发送,包括请求头签名和接口参数两部分,通过sdk可以直接发送,不需要去考虑这些,只要配置好参数即可。
package com.design.haha.bce;
import com.baidubce.auth.DefaultBceCredentials;
import com.baidubce.services.sms.SmsClient;
import com.baidubce.services.sms.SmsClientConfiguration;
import com.baidubce.services.sms.model.SendMessageV3Request;
import com.baidubce.services.sms.model.SendMessageV3Response;
import java.util.HashMap;
import java.util.Map;
public class BCETest {
public static void main(String[] args) {
BCETest b = new BCETest();
b.send();
}
public void send() {
String ACCESS_KEY_ID = "e27b847ab9e2*****************";
String SECRET_ACCESS_KEY = "42af03417a*****************";
String ENDPOINT = "http://smsv3.bj.baidubce.com";
SmsClientConfiguration config = new SmsClientConfiguration();
config.setCredentials(new DefaultBceCredentials(ACCESS_KEY_ID, SECRET_ACCESS_KEY));
config.setEndpoint(ENDPOINT);
SmsClient smsClient = new SmsClient(config);
SendMessageV3Request request = new SendMessageV3Request();
request.setMobile("185********");
request.setSignatureId("sms-sign-*********");
request.setTemplate("sms-***********");
Map<String, String> contentVar = new HashMap<>();
contentVar.put("number", "23456");
request.setContentVar(contentVar);
SendMessageV3Response response = smsClient.sendMessage(request);
// 解析请求响应 response.isSuccess()为true 表示成功
if (response != null && response.isSuccess()) {
// submit success
} else {
// fail
}
}
}
这里面几个参数需要配置,这里参数名称都是不标准的,只用于意会,实际以开发为准。
序号 | 参数 | 说明 |
1 | ACCESS_KEY_ID | 访问密钥ID(Access Key Id, 简称AK) |
2 | SECRET_ACCESS_KEY | 秘密访问密钥(Secret Access Key, 简称SK). |
3 | ENDPOINT | http://smsv3.bj.baidubce.com不用修改,还有一个江苏的地址,不过要使用要跟百度云申请。 |
4 | Mobile | 需要发送的手机号,这里可以多条,逗号隔开,而且可以不局限于国内的(具体参考百度云的api文档) |
5 | SignatureId | 短信签名ID,签名表申请成功后自动创建,全局内唯一 |
6 | Template | 短信模板ID,模板申请成功后自动创建,全局内唯一 |
7 | ContentVar | 模板变量内容,用于替换短信模板中定义的变量,为json字符串格式。 |