Java 我如何知道SMS是否已到达Twilio的目的地
我正在开发一个web应用程序,我正在使用twilio gateway发送短信。我需要在我的页面上显示短信的状态。如果短信已发送,则它将显示已发送,否则它将显示待定。所以,请告诉我,我如何知道消息是否已发送 下面是示例代码Java 我如何知道SMS是否已到达Twilio的目的地,java,sms,twilio,sms-gateway,Java,Sms,Twilio,Sms Gateway,我正在开发一个web应用程序,我正在使用twilio gateway发送短信。我需要在我的页面上显示短信的状态。如果短信已发送,则它将显示已发送,否则它将显示待定。所以,请告诉我,我如何知道消息是否已发送 下面是示例代码 public class Example { public static final String ACCOUNT_SID = "AC5b8866a232v3b63bfgh0f9a872b2dfddd"; public static final String AUTH
public class Example {
public static final String ACCOUNT_SID = "AC5b8866a232v3b63bfgh0f9a872b2dfddd";
public static final String AUTH_TOKEN = "7a0068ca7d07036cbbddeba03370aujdhnm";
public static void main(String[] args) throws TwilioRestException {
TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN);
Map<String, String> params = new HashMap<String, String>();
params.put("To", "+number");
params.put("From", "+number");
System.out.println(System.getProperty("java.class.path"));
SmsFactory messageFactory = client.getAccount().getSmsFactory();
Sms message = messageFactory.create(params);
}
}
公共类示例{
公共静态最终字符串帐户\u SID=“AC5B8866A232V3B63BFGH0F9A872B2DFDD”;
公共静态最终字符串AUTH_TOKEN=“7a0068ca7d07036cbbddeba03370aujdhnm”;
公共静态void main(字符串[]args)引发TwilioRestException{
TwilioRestClient=新的TwilioRestClient(帐户SID,身份验证令牌);
Map params=新的HashMap();
参数put(“至”、“+编号”);
参数put(“From”、“+number”);
System.out.println(System.getProperty(“java.class.path”);
SmsFactory messageFactory=client.getAccount().getSmsFactory();
Sms message=messageFactory.create(参数);
}
}
正是您所需要的。我认为响应是排队
,发送
,发送
,或者失败
,这里的Twilio福音传道者
首先请注意,该资源已被弃用,您现在应该使用新的端点。您可以查看quickstart以获取更新的Java代码,该代码显示了如何将新资源与Java helper库一起使用
其次,为了在消息状态更改时接收通知,您应该在发送消息时包含该参数。包含此参数告诉Twilio在消息状态更改时向参数URL发出请求
另外请注意,由于您的帖子标题不清楚,“已发送”状态表示Twilio已成功向运营商发送消息。这并不一定意味着承运人能够将信息传递给预期的收件人
希望这能有所帮助。感谢您的回答,它只显示排队,但如何知道其他2个响应(发送、发送)。如果我给出了错误的手机号码,它会抛出异常。您有任何解决方案?我正在使用message.getStatus()并显示排队。但Nishants的回答告诉我getStatus将显示sent、sending、queued感谢您的回答,我对这一行感到困惑。首先请注意,SmsMessages资源已被弃用,您现在应该使用新的Messages端点。请告诉我问题中的代码是否已被弃用。这是正确的使用方法吗。您文章中的代码仍然有效,但已被弃用。查看我答案中包含的quickstart的链接,以获得正确的Java代码。调用getStatus只会返回Twilio在响应您的请求时向RESTAPI发送的状态参数的值。Twilio无法在发送给您后更新此响应,因此getStatus的值将始终相同。如果您希望在messags状态随时间变化时收到通知,则需要按照我的建议使用StatusCallback。希望澄清。感谢回复,+1感谢您的帮助。如果我调用message.getStatus(),那么它会打印队列,如果我调用client.getAccount().getSms(message.getSid()).getStatus(),它会打印已发送。请告诉我如何获得发送状态我完全困惑。告诉我可以使用这个吗。如果是的话,那你为什么提供这个