阿里云短佩服务开通(只限于测试,国内短信)
条件:
需要有阿里云的密钥–》AccessKey ID 和 AccessKey Secret 是您访问阿里云 API 的密钥,具有该账户完全的权限
第一步:搜索阿里云短信产物
第2步:点击免费开通
第3步:开通国内信息
第4步:申请签名
第5步:申请模板
第6步:参考阿里云接口调用文档,实现对短佩服务接口的调用(建议参考接文档)
6-1:引入调用该接口需要的依靠
- <!-- 使用阿里云需要引入的依赖-->
- <dependency>
- <groupId>com.aliyun</groupId>
- <artifactId>aliyun-java-sdk-core</artifactId>
- </dependency>
复制代码 6-2 配置文件中需要利用说明的配置
- # 对应的签名密钥
- aliyun.sms.regionId=cn-hangzhou(自己调用接口时使用的regionId)
- aliyun.sms.accessKeyId=阿里云账户的AccessKey ID
- aliyun.sms.secret=阿里云账户的AccessKey Secret
复制代码 6-3 读取该微服务模块中的配置application.properties文件信息,方便调用
- /**
- * @author xu
- * @Description
- * 读取该微服务模块中的配置application.properties文件信息
- * @date 2023/04/03 - 16:31:45
- * @Modified By:
- */
- @Component
- public class ConstantPropertiesUtils implements InitializingBean {
- @Value("${aliyun.sms.regionId}")
- private String regionId;
- @Value("${aliyun.sms.accessKeyId}")
- private String accessKeyId;
- @Value("${aliyun.sms.secret}")
- private String secret;
- public static String REGION_Id;
- public static String ACCESS_KEY_ID;
- public static String SECRECT;
- @Override
- public void afterPropertiesSet() throws Exception {
- REGION_Id=regionId;
- ACCESS_KEY_ID=accessKeyId;
- SECRECT=secret;
- }
- }
复制代码 6-4 :在程序中利用上述依靠的类,实现对接口的调用,我实现一个利用短信验证的登录操作(只是部分代码)
- /**
- *
- * @Description
- * 调用service方法通过整合短信服务进行发送
- * @param phone 登录用户的手机号
- * @param code 需要发送给用户登录时的验证码
- *
- */
- @Override
- public boolean send(String phone, String code) {
- // 判断手机号是否为空
- if (StringUtils.isEmpty(phone)) {
- return false;
- }
- // 整合阿里云短信服务
- // 设置相关参数
- DefaultProfile profile = DefaultProfile.
- getProfile(ConstantPropertiesUtils.REGION_Id,
- ConstantPropertiesUtils.ACCESS_KEY_ID,
- ConstantPropertiesUtils.SECRECT);
- IAcsClient client = new DefaultAcsClient(profile);
- CommonRequest request = new CommonRequest();
- //request.setProtocol(ProtocolType.HTTPS);
- request.setMethod(MethodType.POST);
- request.setDomain("dysmsapi.aliyuncs.com");
- request.setVersion("2017-05-25");
- request.setAction("SendSms");
- //手机号
- request.putQueryParameter("PhoneNumbers", phone);
- //签名名称
- request.putQueryParameter("SignName", "你自己申请签名时,签名的名称");
- //模板code
- request.putQueryParameter("TemplateCode", "你申请的模板对应的模板CODE");
- //验证码 使用json格式 {"code":"123456"}
- Map<String,Object> param = new HashMap();
- param.put("code",code);
- request.putQueryParameter("TemplateParam", JSONObject.toJSONString(param));
- //调用方法进行短信发送
- try {
- CommonResponse response = client.getCommonResponse(request);
- System.out.println(response.getData());
- return response.getHttpResponse().isSuccess();
- } catch (ServerException e) {
- e.printStackTrace();
- } catch (ClientException e) {
- e.printStackTrace();
- }
- return false;
- }
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |