首頁 >Java >java教程 >Java使用雲片API發送簡訊驗證碼的程式碼詳解

Java使用雲片API發送簡訊驗證碼的程式碼詳解

黄舟
黄舟原創
2017-03-09 10:06:052081瀏覽

這篇文章主要介紹了Java使用雲片API發送簡訊驗證碼,主要用的是Java實作簡訊驗證碼。需要的朋友可以參考下

下面開始介紹的是如何利用機器完成批次操作,將簡訊業務自動化。

取得APIKEY

雲端片網提供了完整的SDK和API,可以幫助開發者快速完成業務開發。

在開始Coding前,需要先取得APIKEY,如下所示。

取得APIKEY

點選眼睛按鈕後,輸入驗證碼,就可以查看APIKEY了。

這裡要說明的是,APIKEY特別重要,一定要保護好它,避免洩漏。雲片這邊提供了幾重保護機制,例如驗證、敏感處理、子帳號獨立APIKEY等,看得出來他們的安全意識還挺不錯的。

開始Coding

有了APIKEY,就可以直接開始Coding了。

最主要的介面就是這三個,單一發送介面、批次發送介面、批次個人化發送介面。搞清楚這三個介面後,其它的開發基本就是信手拈來了。

單一發送介面

* 单条短信发送,智能匹配短信模板
 *
 * @param apikey 成功注册后登录云片官网,进入后台可查看
 * @param text  需要使用已审核通过的模板或者默认模板
 * @param mobile 接收的手机号,仅支持单号码发送
 * @return json格式字符串
 */
public static String singleSend(String apikey, String text, String mobile) {
  Map<String, String> params = new HashMap<String, String>();//请求参数集合
  params.put("apikey", apikey);
  params.put("text", text);
  params.put("mobile", mobile);
  return post("https://sms.yunpian.com/v2/sms/single_send.json", params);//请自行使用post方式请求,可使用Apache HttpClient
}

這其中,APIKEY是從雲端片後台取得的。

例如我要給1888888888這個號碼發送,代碼如下:

#
String apikey = fx33mio3561dah34jdk748vz9dkfjkd373zdfg28df43dfhjadj;
String text = "[云片网] 您的短信验证码是 1234";
String mobile = 18888888888;
testSendSms(apikey, text, mobile);

##這樣一封簡訊就發送了。詳細的介紹可以看這裡。

批次發送接口

也可以給多個手機號碼發送相同內容的短信,代碼如下:

##
/**
 * 批量发送短信,相同内容多个号码,智能匹配短信模板
 *
 * @param apikey 成功注册后登录云片官网,进入后台可查看
 * @param text  需要使用已审核通过的模板或者默认模板
 * @param mobile 接收的手机号,多个手机号用英文逗号隔开
 * @return json格式字符串
 */
public static String batchSend(String apikey, String text, String mobile) {
  Map<String, String> params = new HashMap<String, String>();//请求参数集合
  params.put("apikey", apikey);
  params.put("text", text);
  params.put("mobile", mobile);
  return post("https://sms.yunpian.com/v2/sms/batch_send.json", params);//请自行使用post方式请求,可使用Apache HttpClient
}

#多個手機號之間使用逗號分隔,mobile可以這樣賦值

String mobile = "1888888888, 1234567890, 9876543210"

詳細的說明可以參考這裡。

批量個人化發送介面

很多時候,我們遇到的需求沒有那麼簡單,經常要給不同的手機號碼發送不同的內容,而雲片也提供了對應的API 。

/**
 * 批量个性化发送
 */
public static String multiSend() throws UnsupportedEncodingException {
  Map<String, String> params = new HashMap<String, String>();//请求参数集合
  params.put("apikey", "your apikey");
  params.put("text", java.net.URLEncoder.encode("【云片网】您的验证码是1234", "UTF-8") + ","
      + java.net.URLEncoder.encode("【云片网】您的登录码是8888", "UTF-8"));
  params.put("mobile", "13812345678,18888888888");
  return post("https://sms.yunpian.com/v2/sms/multi_send.json", params);//请自行使用post方式请求,可使用Apache HttpClient
}

上面這段程式碼的結果就是第一封簡訊"【雲端片網】您的驗證碼是1234"發給了13812345678,第二則簡訊"【雲端片網】您的登入碼是8888"發給了18888888888,當然這樣的實作方式還是看起來很蠢,不過不用擔心,雲端片網也提供了變數模板,只要替換模板中對應的變數部分,就可以輕鬆實現給多個號碼發送不同的簡訊內容,關於變數模板,以後可以再多聊聊,反正他完美執行了設計模式中OCP原則,簡直經典。


更詳細的介紹,可以看這裡。

以上是Java使用雲片API發送簡訊驗證碼的程式碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn