阿里云短佩服务开通(只限于测试,国内短信)

打印 上一主题 下一主题

主题 676|帖子 676|积分 2028

阿里云短佩服务开通(只限于测试,国内短信)

条件:

需要有阿里云的密钥–》AccessKey ID 和 AccessKey Secret 是您访问阿里云 API 的密钥,具有该账户完全的权限
第一步:搜索阿里云短信产物


第2步:点击免费开通


第3步:开通国内信息


第4步:申请签名



第5步:申请模板



第6步:参考阿里云接口调用文档,实现对短佩服务接口的调用(建议参考接文档)

6-1:引入调用该接口需要的依靠

  1. <!--        使用阿里云需要引入的依赖-->
  2. <dependency>
  3.     <groupId>com.aliyun</groupId>
  4.     <artifactId>aliyun-java-sdk-core</artifactId>
  5. </dependency>
复制代码
6-2 配置文件中需要利用说明的配置

  1. # 对应的签名密钥
  2. aliyun.sms.regionId=cn-hangzhou(自己调用接口时使用的regionId)
  3. aliyun.sms.accessKeyId=阿里云账户的AccessKey ID
  4. aliyun.sms.secret=阿里云账户的AccessKey Secret
复制代码
6-3 读取该微服务模块中的配置application.properties文件信息,方便调用

  1. /**
  2. * @author xu
  3. * @Description
  4. * 读取该微服务模块中的配置application.properties文件信息
  5. * @date 2023/04/03 - 16:31:45
  6. * @Modified By:
  7. */
  8. @Component
  9. public class ConstantPropertiesUtils implements InitializingBean {
  10.     @Value("${aliyun.sms.regionId}")
  11.     private String regionId;
  12.     @Value("${aliyun.sms.accessKeyId}")
  13.     private String accessKeyId;
  14.     @Value("${aliyun.sms.secret}")
  15.     private String secret;
  16.     public static String REGION_Id;
  17.     public static String ACCESS_KEY_ID;
  18.     public static String SECRECT;
  19.     @Override
  20.     public void afterPropertiesSet() throws Exception {
  21.         REGION_Id=regionId;
  22.         ACCESS_KEY_ID=accessKeyId;
  23.         SECRECT=secret;
  24.     }
  25. }
复制代码
6-4 :在程序中利用上述依靠的类,实现对接口的调用,我实现一个利用短信验证的登录操作(只是部分代码)

  1. /**
  2.      *
  3.      * @Description
  4.      * 调用service方法通过整合短信服务进行发送
  5.      * @param phone 登录用户的手机号
  6.      * @param code 需要发送给用户登录时的验证码
  7.      *
  8.      */
  9.     @Override
  10.     public boolean send(String phone, String code) {
  11.         // 判断手机号是否为空
  12.         if (StringUtils.isEmpty(phone)) {
  13.             return false;
  14.         }
  15.         // 整合阿里云短信服务
  16.         // 设置相关参数
  17.         DefaultProfile profile = DefaultProfile.
  18.                 getProfile(ConstantPropertiesUtils.REGION_Id,
  19.                         ConstantPropertiesUtils.ACCESS_KEY_ID,
  20.                         ConstantPropertiesUtils.SECRECT);
  21.         IAcsClient client = new DefaultAcsClient(profile);
  22.         CommonRequest request = new CommonRequest();
  23.         //request.setProtocol(ProtocolType.HTTPS);
  24.         request.setMethod(MethodType.POST);
  25.         request.setDomain("dysmsapi.aliyuncs.com");
  26.         request.setVersion("2017-05-25");
  27.         request.setAction("SendSms");
  28.         //手机号
  29.         request.putQueryParameter("PhoneNumbers", phone);
  30.         //签名名称
  31.         request.putQueryParameter("SignName", "你自己申请签名时,签名的名称");
  32.         //模板code
  33.         request.putQueryParameter("TemplateCode", "你申请的模板对应的模板CODE");
  34.         //验证码  使用json格式   {"code":"123456"}
  35.         Map<String,Object> param = new HashMap();
  36.         param.put("code",code);
  37.         request.putQueryParameter("TemplateParam", JSONObject.toJSONString(param));
  38.         //调用方法进行短信发送
  39.         try {
  40.             CommonResponse response = client.getCommonResponse(request);
  41.             System.out.println(response.getData());
  42.             return response.getHttpResponse().isSuccess();
  43.         } catch (ServerException e) {
  44.             e.printStackTrace();
  45.         } catch (ClientException e) {
  46.             e.printStackTrace();
  47.         }
  48.         return false;
  49.     }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用多少眼泪才能让你相信

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表