一,首先請登錄阿里云官網(wǎng)申請賬號,商用請申請企業(yè)號 ,個人學習只需個人賬號就可滿足,官網(wǎng)地址:https://www.aliyun.com/
二,申請后進入后會有實名認證 ,按著提示來無腦操作就OK,下面主要說明如何申請短信接口步驟流程。
1.看圖鼠標放在產(chǎn)品分類,云通信,短信服務
2.點進去就入管理控制臺,然后按流程申請簽名管理,模板管理
3.注意在申請短信簽名管理的時候,這里會有個適用于場景,如果只是發(fā)送個驗證碼驗證 ,只需將場景修改為驗證碼模式下就可以,審核條件較少,重要說明下 ,一個簽名可以對應多個短信模板, 一個短信模板也可以搭配多條短信簽名
4.申請模板
5,填寫完等待審核通過
三, 短信接口配置
1,首先申請或者啟用自己賬號的AK以及密匙,點擊AK管理,新賬號下需要創(chuàng)建自己的AK,跟著提示走,申請之后保存好就OK·
2,代碼配置實例
/** * * @return 返回null 表示成功了 */ public static String send(String phoneNumber, String code) { try { //設置超時時間-可自行調(diào)整 System.setProperty("sun.net.client.defaultConnectTimeout", "60000"); System.setProperty("sun.net.client.defaultReadTimeout", "60000"); //初始化ascClient需要的幾個參數(shù) final String product = "Dysmsapi";//短信API產(chǎn)品名稱(短信產(chǎn)品名固定,無需修改) final String domain = "dysmsapi.aliyuncs.com";//短信API產(chǎn)品域名(接口地址固定,無需修改) //替換成你的AK final String accessKeyId = NoticeUtils.AKID;//你的accessKeyId,參考本文檔步驟2 final String accessKeySecret = NoticeUtils.AKS;//你的accessKeySecret,參考本文檔步驟2 //初始化ascClient,暫時不支持多region(請勿修改) IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); //組裝請求對象 SendSmsRequest request = new SendSmsRequest(); //使用post提交 request.setMethod(MethodType.POST); //必填:待發(fā)送手機號。支持以逗號分隔的形式進行批量調(diào)用,批量上限為1000個手機號碼,批量調(diào)用相對于單條調(diào)用及時性稍有延遲,驗證碼類型的短信推薦使用單條調(diào)用的方式;發(fā)送國際/港澳臺消息時,接收號碼格式為00+國際區(qū)號+號碼,如“0085200000000” request.setPhoneNumbers(phoneNumber); //必填:短信簽名-可在短信控制臺中找到 request.setSignName("你的短信簽名名稱"); //必填:短信模板-可在短信控制臺中找到,發(fā)送國際/港澳臺消息時,請使用國際/港澳臺短信模版 request.setTemplateCode("你的模板管理模板CODE"); //可選:模板中的變量替換JSON串,如模板內(nèi)容為"親愛的${name},您的驗證碼為${code}"時,此處的值為 //友情提示:如果JSON中需要帶換行符,請參照標準的JSON協(xié)議對換行符的要求,比如短信內(nèi)容中包含\r\n的情況在JSON中需要表示成\\r\\n,否則會導致JSON在服務端解析失敗 request.setTemplateParam("{\"code\":\""+code+"\"}"); //可選-上行短信擴展碼(擴展碼字段控制在7位或以下,無特殊需求用戶請忽略此字段) //request.setSmsUpExtendCode("90997"); //請求失敗這里會拋ClientException異常 SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); return null; } catch (ClientException e) { log.error("短信發(fā)送錯誤!", e); return "error"; } } |
3,引入阿里云SDK,網(wǎng)址:https://help.aliyun.com/document_detail/112148.html?spm=a2c4g.11174283.6.654.4a032c42DnK5YP,pom文件方式快捷引入
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.1.0</version> </dependency> |