阿裡雲通信(原名阿裡大于)的短信服務(Short Message Service)是阿裡雲為使用者提供的一種通信服務的能力,支援快速發送短信驗證碼、短信通知等。 完美支撐雙11期間2億使用者,發送6億短信。三網合一專屬通道,與工信部攜号轉網平台實時互聯。電信級運維保障,實時監控自動切換,到達率高達99%。
具體阿裡大于是什麼時候改版到阿裡雲通信的,不是太清楚,反正以前的短信發送驗證碼、短信通知的接口最近用不了了(提示的錯誤見下面的日志),于是隻能根據阿裡雲通信提供的API對接口重新改版。
ERROR com.taobao.api.internal.util.TaobaoLogger: 2017-12-08 12:09:52.181^_^LTAIR3x1VogOJPz5^_^alibaba.aliqin.fc.sms.num.send^_^172.19.38.254^_^Windows Server 2012 R2^_^46^_^http://gw.api.taobao.com/router/rest^_^^_^{"error_response":{"code":11,"msg":"Insufficient isv permissions","sub_code":"isv.permission-api-package-limit","sub_msg":"scope ids is 11022 11600 11863","request_id":"rxn0ipvhba2f"}}
發現錯誤後的第一反應當然是根據錯誤資訊去找原因:
Insufficient isv permissions:開發者權限不足
isv.permission-api-package-limit:沒有和任何通路包關聯,建議根據業務規則申請對應的權限
這樣的解釋似乎并不能幫助我們解決掉問題?
接下來的做法,當然是去看阿裡雲通信官方給出的API,等待把Java版的短信産品相關的SDK及DEMO程式下載下傳到本地後,我明白了。
新的jar包
aliyun-java-sdk-core-3.3.1.jar
aliyun-java-sdk-dysmsapi-1.0.0.jar
原來調用的jar包
taobao-sdk-java-auto_1455552377940-20160607.jar
sdk已經發生了變化,當然舊版的短信接口99%是用不了的。
那麼新版的阿裡雲通信短信發送API該怎麼調用呢?
1)建立阿裡雲賬号
2)擷取阿裡雲通路密鑰
3)在控制台完成模闆與簽名的申請,獲得調用接口必備的參數 添加模闆的時候,請一定要注意,模闆的格式是需要一定規則的,後面編寫Java代碼時需要進行比對,舉例如下: ${code}在後面調用阿裡雲API的時候要傳遞。${username}和${password}同樣在後面調用阿裡雲API的時候要傳遞。
模闆送出後,阿裡雲通信會在2個小時候内審批,審批完成後就可以看到模闆CODE,該參數在後面調用API的時候同樣是必須的。
4)下載下傳Java版的SDK
如果你使用的是maven,阿裡提供的方式是:
如果你們公司有自己搭建倉庫,可以把SDK裡面提供的本地jar上傳上去即可
或者你走你的本地jar依賴方式
<dependency>
<groupId>*</groupId>
<artifactId>*</artifactId>
<version>*</version>
<systemPath>${project.basedir}/lib/*.jar</systemPath>
</dependency>
<scope> compile</scope>
如果是正常的Java或者Javaweb項目(直接放在WEB-INF的lib包下),則可以把以下兩個jar包引入到工程當中: