1

我试图在我的 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 发送文本消息的示例都有帮助!

谢谢

4

2 回答 2

0

我知道这是一个旧的,但如果可以的话,我想分享更多信息。自 2014 年 1 月起,您可以选择在 App Engine 上使用适用于 Java 的 Twilio 帮助程序库。Twilio Java 库的底层 HTTP 客户端实现已修改为在 App Engine 上运行。

另外,为了清楚起见,您不应该尝试在客户端上将 Twilio 帮助程序库与 GWT 一起使用。Twilio 帮助程序库仅在代码在服务器上执行时才起作用。

如果您想从 App Engine Java 应用程序发送 SMS,您首先需要注册一个 Twilio 帐户。一旦您注册了一个帐户并获得了您的帐户 SID 和身份验证令牌(在您的仪表板上找到),您可以按照 Google App Engine 文档中的指南来设置和配置您的环境以发送消息。

如果您遇到任何问题,请发送电子邮件至 help@twilio.com 联系我们的支持小组。

于 2014-01-14T00:23:15.890 回答
0

Twilio Java 客户端库不在 GAE 上,因为它显然使用了 GAE 上不存在的一些 Java 类。

由于您不能使用 Twilio 客户端,您唯一的选择是使用 GWT-RPC 在服务器上调用您的方法,并且此方法进一步调用 Twilio REST API。

于 2011-12-01T20:12:58.107 回答