大家好我在codename
一个api短信中遇到问题
当我按下按钮时,他告诉我这个错误(错误:需要411个长度)
btsms.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
// String myURL = "https://rest.nexmo.com/sms/json?api_key=*****&api_secret=*****&to=*****" + "&from=*****&text=*****";
String myURL = "https://rest.nexmo.com/sms/json?api_key=d5b95eee&api_secret=93a8c398b48c63bf&to=21625308299&from=NEXMO&text=reservation_annulée";
ConnectionRequest cntRqst = new ConnectionRequest() {
@Override
protected void readResponse(InputStream in) throws IOException {
}
@Override
protected void postResponse() {
Dialog.show("SMS", "sms successfully sent", "OK", null);
}
};
cntRqst.setUrl(myURL);
NetworkManager.getInstance().addToQueue(cntRqst);
}
});
你能帮我吗谢谢:)
答案 0 :(得分:0)
在开始之前,你知道Codename One中有一个Twilio SMS callback library吗?
您正在发送一个包含为GET构建的网址的帖子。最小的修复是:
cntRqst.setPost(false);
但是,我个人会把它写成:
ConnectionRequest cntRqst = new ConnectionRequest("https://rest.nexmo.com/sms/json", false) {
// ...
};
cntRqst.addArgument("api_key", API_KEY);
cntRqst.addArgument("api_secret", API_SECRET);
cntRqst.addArgument("to", "21625308299");
cntRqst.addArgument("from", "NEXMO");
cntRqst.addArgument("text", "reservation_annulée");
这样做的好处是文本是隐式编码的,您可以轻松地在GET / POST之间动态切换。
还有更新的REST API(假设结果是JSON):
Response<Map> response = Rest.get("https://rest.nexmo.com/sms/json").
queryParam("api_key", API_KEY).
queryParam("api_secret", API_SECRET).
queryParam("to", "21625308299").
queryParam("from", "NEXMO").
queryParam("text", "reservation_annulée").
getAsJsonMap();