我正在开发一个网络应用程序,我正在使用twilio网关发送短信。我需要在我的页面上显示短信的状态。如果发送短信,那么它将显示已发送,否则它将显示待定。所以请告诉我如何知道消息是否已经发送。
以下是示例代码
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);
}
}
答案 0 :(得分:3)
Twilio传道者在这里。
首先请注意,SmsMessages资源已被弃用,您现在应该使用新的Messages端点。您可以查看Sending SMS Messages快速入门,了解更新的Java代码,其中显示了如何将新资源与Java帮助程序库一起使用。
其次,为了在消息状态更改时接收通知,您应在发送消息时包含StatusCallback参数。包含此参数会告知Twilio在消息状态更改时向参数URL发出请求。
另请注意,由于您的帖子标题不明确,“已发送”状态简单意味着Twilio已成功将消息发送给运营商。这并不一定意味着承运人能够将信息传递给预期的收件人。
希望有所帮助。
答案 1 :(得分:1)
Message.getStatus()
就是您所需要的。我认为回复是queued
,sending
,sent
或failed
之一。