天天看點

Java版阿裡雲通信短信發送API接口執行個體(1)

阿裡雲通信(原名阿裡大于)的短信服務(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)擷取阿裡雲通路密鑰

Java版阿裡雲通信短信發送API接口執行個體(1)
3)在控制台完成模闆與簽名的申請,獲得調用接口必備的參數
Java版阿裡雲通信短信發送API接口執行個體(1)
添加模闆的時候,請一定要注意,模闆的格式是需要一定規則的,後面編寫Java代碼時需要進行比對,舉例如下:
Java版阿裡雲通信短信發送API接口執行個體(1)
${code}在後面調用阿裡雲API的時候要傳遞。
Java版阿裡雲通信短信發送API接口執行個體(1)

${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包引入到工程當中: