溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java中如何使用云片API實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼

發(fā)布時間:2020-11-09 17:24:00 來源:億速云 閱讀:210 作者:Leah 欄目:編程語言

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Java中如何使用云片API實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

獲取APIKEY

云片網(wǎng)提供了完整的SDK和API,可以幫助開發(fā)者快速完成業(yè)務(wù)開發(fā)。

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

獲取APIKEY

點(diǎn)擊眼睛按鈕后,輸入驗(yàn)證碼,就可以查看APIKEY了。

這里需要說明的是,APIKEY特別重要,一定要保護(hù)好它,避免泄露。云片這邊提供了幾重保護(hù)機(jī)制,例如驗(yàn)證、敏感處理、子賬號獨(dú)立APIKEY等,看得出來他們的安全意識還是挺不錯的。

開始Coding

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

最主要的接口就是這三個,單條發(fā)送接口、批量發(fā)送接口、批量個性化發(fā)送接口。搞清楚這三個接口后,其它的開發(fā)基本就是信手拈來了。

單條發(fā)送接口

* 單條短信發(fā)送,智能匹配短信模板
 *
 * @param apikey 成功注冊后登錄云片官網(wǎng),進(jìn)入后臺可查看
 * @param text  需要使用已審核通過的模板或者默認(rèn)模板
 * @param mobile 接收的手機(jī)號,僅支持單號碼發(fā)送
 * @return json格式字符串
 */
public static String singleSend(String apikey, String text, String mobile) {
  Map<String, String> params = new HashMap<String, String>();//請求參數(shù)集合
  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這個號碼發(fā)送,代碼如下:

String apikey = fx33mio3561dah44jdk748vz9dkfjkd373zdfg28df43dfhjadj;
String text = "[云片網(wǎng)] 您的短信驗(yàn)證碼是 1234";
String mobile = 18888888888;
testSendSms(apikey, text, mobile);

這樣一條短信就發(fā)送出去了。詳細(xì)的介紹可以看這里。

批量發(fā)送接口

也可以給多個手機(jī)號發(fā)送相同內(nèi)容的短信,代碼如下:

/**
 * 批量發(fā)送短信,相同內(nèi)容多個號碼,智能匹配短信模板
 *
 * @param apikey 成功注冊后登錄云片官網(wǎng),進(jìn)入后臺可查看
 * @param text  需要使用已審核通過的模板或者默認(rèn)模板
 * @param mobile 接收的手機(jī)號,多個手機(jī)號用英文逗號隔開
 * @return json格式字符串
 */
public static String batchSend(String apikey, String text, String mobile) {
  Map<String, String> params = new HashMap<String, String>();//請求參數(shù)集合
  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
}

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

String mobile = "1888888888, 1234567890, 9876543210"

詳細(xì)的說明可以參看這里。

批量個性化發(fā)送接口

很多時候,我們遇到的需求沒有那么簡單,經(jīng)常要給不同的手機(jī)號發(fā)送不同的內(nèi)容,而云片也提供了對應(yīng)的API。

/**
 * 批量個性化發(fā)送
 */
public static String multiSend() throws UnsupportedEncodingException {
  Map<String, String> params = new HashMap<String, String>();//請求參數(shù)集合
  params.put("apikey", "your apikey");
  params.put("text", java.net.URLEncoder.encode("【云片網(wǎng)】您的驗(yàn)證碼是1234", "UTF-8") + ","
      + java.net.URLEncoder.encode("【云片網(wǎng)】您的登錄碼是8888", "UTF-8"));
  params.put("mobile", "13812345678,18888888888");
  return post("https://sms.yunpian.com/v2/sms/multi_send.json", params);//請自行使用post方式請求,可使用Apache HttpClient
}

上面這段代碼的結(jié)果就是第一條短信"【云片網(wǎng)】您的驗(yàn)證碼是1234"發(fā)給了13812345678,第二條短信"【云片網(wǎng)】您的登錄碼是8888"發(fā)給了18888888888,當(dāng)然這樣的實(shí)現(xiàn)方式還是看起來很蠢,不過不用擔(dān)心,云片網(wǎng)還提供了變量模板,只要替換模板中對應(yīng)的變量部分,就可以輕松實(shí)現(xiàn)給多個號碼發(fā)送不同的短信內(nèi)容,關(guān)于變量模板,以后可以再多聊聊,反正他完美執(zhí)行了設(shè)計模式中OCP原則,簡直經(jīng)典。

上述就是小編為大家分享的Java中如何使用云片API實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI