我试图在我的GWT应用程序中使用Twilio的官方Java库来发送短信。
这是我在我的应用程序中使用的Twilio代码:
public class TwilioSMS{
/** The Constant ACCOUNT_SID. */
public static final String ACCOUNT_SID = "xxxxxxxxxxxxxxxxxxxxxxxxxx";
public static final String AUTH_TOKEN = "xxxxxxxxxxxxxxxxxxxxxxxxx";
// Create a rest client
TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN);
/**
* The main method.
*
* @param args
* the arguments
* @throws TwilioRestException
* the twilio rest exception
*/
public String sendMessage(String _to, String _message) throws TwilioRestException
{
// Get the main account (The one we used to authenticate the client
Account mainAccount = client.getAccount();
// Send an sms
SmsFactory smsFactory = mainAccount.getSmsFactory();
Map<String, String> smsParams = new HashMap<String, String>();
smsParams.put("To", _to); // Replace with a valid phone number
smsParams.put("From", "(646) 755-7665"); // Replace with a valid phone // number in your account
smsParams.put("Body", _message);
smsFactory.create(smsParams);
// Make a raw request to the api.
TwilioRestResponse resp = client.request("/2010-04-01/Accounts", "GET",
null);
if (!resp.isError()) {
return resp.getResponseText();
}
else
{
return "Failed to send the message.";
}
}
}
当我在GAE中运行代码时,我得到以下异常:
java.lang.NoClassDefFoundError: javax.net.ssl.KeyManagerFactory is a restricted class. Please see the Google App Engine developer's guide for more details.
我确实意识到有一个gwt-twilio http://code.google.com/p/gwt-twilio/但是这是twilio客户端的包装器(它不处理发送短信)
在GAE + GWT中使用twilio发送短信的任何示例都很有帮助!
由于
昆
答案 0 :(得分:0)
Twilio Java客户端库不在GAE上,因为它显然使用了GAE上不存在的一些Java类。
由于您无法使用Twilio客户端,因此您唯一的选择是使用GWT-RPC在服务器上调用您的方法,此方法还会调用Twilio REST API。
答案 1 :(得分:0)
我知道这是一个旧版本,但如果可以,我想分享更多信息。截至2014年1月,如果您愿意,可以在App Engine上使用Twilio帮助程序库。 Twilio Java库的底层HTTP客户端实现已经过修改,可以在App Engine上运行。
另外,为了清楚起见,您不应该尝试在客户端使用GWT使用Twilio帮助程序库。只有在服务器上执行代码时,Twilio帮助程序库才会起作用。
如果您想从App Engine Java应用程序发送短信,首先需要sign up for a Twilio account。注册帐户并拥有帐户SID和身份验证令牌(found on your dashboard)后,您可以follow this guide in the Google App Engine documentation设置和配置环境以发送消息。
如果您遇到任何问题,请发送电子邮件至help@twilio.com与我们的支持小组联系。