1. 程式人生 > >【第三方服務】騰訊雲簡訊org.json衝突

【第三方服務】騰訊雲簡訊org.json衝突

騰訊雲簡訊org.json衝突

錯誤:

Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.json.JSONObject.put(Ljava/lang/String;Ljava/util/Collection;)Lorg/json/JSONObject;

原因:包依賴衝突問題,qcloudsms_java依賴 org.json:json 這個包。qcloudsms_java 不能考慮到跟所有其他第三方依賴衝突問題,這個需要使用者主動來解決

解決辦法一:參考文章here

解決辦法二:

使用不帶引數的傳送簡訊方式

private static final int TYPE_NORMAL = 0;
private static final String NATION_CODE = "86";
public static SmsSingleSenderResult sendSMS(String phoneNumber, int templateId, String msg) throws HTTPException, IOException {
    SmsSingleSender ssender = new SmsSingleSender(APPID, APPKEY);
    // 該msg需要與騰訊雲上的簡訊模版一致,不然會顯示無法匹配。
msg = "【" + SIGNATURE + "】您正在驗證手機號碼,驗證碼為" + msg + ",請及時輸入,驗證 碼5分鐘內有效,感謝您的支援!"; SmsSingleSenderResult result = ssender.send(TYPE_NORMAL, NATION_CODE, phoneNumber,msg, "", ""); if (result.result == SUCCESS_CODE) { log.info("result is {}", result); } else { log.error("result is {}"
, result); } return result; }