在Android中使用Twillio发送短信

时间:2017-01-16 09:28:44

标签: java android twilio

我正在使用以下代码....但短信不会来......

private void sendSms(String toPhoneNumber, String message){
        OkHttpClient client = new OkHttpClient();
        String ACCOUNT_SID="XXXXXXXXXXXXXXXXXXXXXXXXXX";
        String AUTH_TOKEN="XFAXXXXXXXXXXXXXXXXXXXXXXXXX";
        String url = "https://api.twilio.com/2010-04-01/Accounts/"+ACCOUNT_SID+"/SMS/Messages";
        String base64EncodedCredentials = "Basic " + Base64.encodeToString((ACCOUNT_SID + ":" + AUTH_TOKEN).getBytes(), Base64.NO_WRAP);

        RequestBody body = new FormBody.Builder()
                .add("From", "+16463525791")
                .add("To", toPhoneNumber)
                .add("Body", message)
                .build();

        Request request = new Request.Builder()
                .url(url)
                .post(body)
                .header("Authorization", base64EncodedCredentials)
                .build();
        try {
            Response response = client.newCall(request).execute();
           // Log.d(TAG, "sendSms: "+ response.body().string());
        } catch (IOException e) { e.printStackTrace(); }

    }

我需要在注册后向用户发送短信...请帮助....

2 个答案:

答案 0 :(得分:2)

Twilio开发者传道者在这里。

首先,我们建议您不要直接在Android应用程序中调用Twilio API。为此,您将公开您的帐户凭据,这可能导致他们被盗用并被恶意攻击者使用。

好消息是我们通过Java自己构建服务器来获得整个blog post on sending SMS messages from Android。在此处查看该博文:https://www.twilio.com/blog/2016/05/how-to-send-an-sms-from-android.html

答案 1 :(得分:0)

使用Twilio发送外发短信非常容易。要发送SMS,请向Messages资源发出HTTP POST请求。

POST https://api.twilio.com/2010-04-01/Accounts/AC123456abc/Messages 我们的twilio-python辅助库让这非常简单。添加以下行:

send_sms.java

from twilio.rest import TwilioRestClient

account_sid = "ACXXXXXXXXXXXXXXXXX"
auth_token = "YYYYYYYYYYYYYYYYYY"
client = TwilioRestClient(account_sid, auth_token)

message = client.messages.create(to="+12316851234", from_="+15555555555",body="Hello there!")

from_号码必须是有效的Twilio电话号码。号码可以是任何拨出号码。

如果您在此示例中使用的是Twilio Trial帐户,则只能向使用Twilio验证过的电话号码发送短信。电话号码可以通过Twilio帐户的电话号码页面进行验证。 使用Twilio发送传出彩信也很容易。要发送MMS,您还要向Messages资源发出HTTP POST请求,但这次要指定一个或多个MediaUrl参数。

MMS消息只能由具有MMS功能的号码发送和接收。您可以检查帐户门户中的号码功能,或查询可用电话号码资源以搜索启用了MMS的Twilio号码。

message = client.messages.create(to="+12316851234", from_="+15555555555",
                                     body="Hello there!",
                                     media_url=['https://demo.twilio.com/owl.png', 'https://demo.twilio.com/logo.png'])

请注意,如果要发送一个或多个MediaUrls,则body参数是可选的。