java 阿里雲簡訊傳送

小霸王丶發表於2021-02-26

 記錄自己的足跡,學習的路很長,一直在走著呢~

 第一步登入阿里雲的控制檯,找到此處:

 

 

 點選之後就到此頁面,如果發現賬號有異常或者洩露什麼,可以禁用或者刪除  AccessKey:

 

 

 此處方便測試,所以就新建了一個新的使用者組,新增相對應的許可權。

 

 

 

 

 

 

 

使用者也是一樣,這裡的使用者加入使用者組就會擁有等同的許可權了 

 

 

 

 

 

 

 

  

接下來要去阿里雲的簡訊頁面如下:

 

 

 

 

到了這個首頁 ,自己可以大致瀏覽一下 幫助文件,這樣會加快你瞭解。

點選國內訊息,我們首先新增簽名,再新增模板

 

 

 

 

 簽名新增之後,再新增模板

 

 

 

 等稽核到通過之後,  稽核一般十分鐘左右就過了,如果填寫的很標準,稽核通過的時間很更快,在等稽核通過的時間裡  我們可以先點開幫助文件,找到SDK參考,如下:

 

 

或者在使用示例中:

 

 

 

 

在我們的專案中新增依賴:

 

 

 接下來我們進行測試一下:

package com.sms;

import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.HashMap;
import java.util.Map;

@SpringBootTest
class SmsApplicationTests {

    @Test
    void contextLoads() {
        //連結阿里雲
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "你的AccessKeyID", "你的AccessKeySecret");
        IAcsClient client = new DefaultAcsClient(profile);

        //構建請求
        CommonRequest request = new CommonRequest();

        request.setMethod(MethodType.POST);
        request.setDomain("dysmsapi.aliyuncs.com"); //不用動
        request.setVersion("2017-05-25"); //不用動
        request.setAction("SendSms"); //

        //自定義的引數(手機號,驗證碼,簽名,模板)

        request.putQueryParameter("PhoneNumbers", "手機號碼");
        request.putQueryParameter("SignName", "你的簽名名稱");
        request.putQueryParameter("TemplateCode", "對應的模版CODE");

        //構建一個簡訊的驗證
        Map<String , Object> map = new HashMap<>();
        map.put("code",1124); //這裡因為是測試 所以寫死了
        System.out.println(JSONObject.toJSONString(map));
        request.putQueryParameter("TemplateParam", JSONObject.toJSONString(map));  //這裡需要轉成字串形式

        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }

}

  

測試結果如下:

 

 

 到這裡就結束了,此隨筆只是記錄自己的學習過程而已,隨筆有什麼出錯的地方或者漏洞歡迎指出,謝謝。

相關文章