使用Java通过Twilio API发送文本消息

时间:2016-05-16 12:16:53

标签: java twilio phone-number

我在Twilio注册并从我的帐户中获得以下详细信息

帐号SID:长度为34个字符 验证令牌:长度为34个字符

我在classpath中加载了com.twilio.sdk的jar文件,执行了下面的代码。 该程序已编译,在运行期间我收到错误,其中包括#34;来自电话号码"。 我不确定是否需要从Twilio购买电话号码,还是可以使用我在Twilio注册的电话号码?

以下是我运行的代码

import com.twilio.sdk.resource.instance.Account;
import com.twilio.sdk.TwilioRestClient;
import com.twilio.sdk.TwilioRestException;
import com.twilio.sdk.resource.factory.MessageFactory;
import com.twilio.sdk.resource.instance.Message;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;

public class SmsSender {

    /* Find your sid and token at twilio.com/user/account */
    //public static final String ACCOUNT_SID = "AC123";
   // public static final String AUTH_TOKEN = "456bef";

    public static final String ACCOUNT_SID = "ACXXXXXXXXXX";
    public static final String AUTH_TOKEN = "08XXXXXXXXXX";
    public static void main(String[] args) throws TwilioRestException {

        TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN);

        Account account = client.getAccount();

        MessageFactory messageFactory = account.getMessageFactory();
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("To", "+15101234567")); // Replace with a valid phone number for your account.
        params.add(new BasicNameValuePair("From", "+5101234567")); // Replace with a valid phone number for your account.`enter code here`
        params.add(new BasicNameValuePair("Body", "Hi, this is Devaraj, sending you message from Twilio"));
        Message sms = messageFactory.create(params);

    }
}

=============================================== ====

执行上述代码

时出错

线程中的异常&#34; main&#34; com.twilio.sdk.TwilioRestException:来自电话号码+14158141829不是有效的,支持短信的入站电话号码或您帐户的短代码。     在com.twilio.sdk.TwilioRestException.parseResponse(TwilioRestException.java:97)     在com.twilio.sdk.TwilioClient.safeRequest(TwilioClient.java:493)     在com.twilio.sdk.resource.list.MessageList.create(MessageList.java:70)     在SmsSender.main(SmsSender.java:34)

1 个答案:

答案 0 :(得分:1)

这里可能有两个问题。 1)您的电话号码没有短信功能。 2)您可以在进行身份验证时使用您的测试凭据。如果您使用的是Test Credentials,Twilio将不会向您的帐户收费,更新您的帐户状态或连接到真实的电话号码。