一个接一个地进行多个twilio调用(即将它们放入队列中)

时间:2017-02-08 09:51:23

标签: java twilio twilio-api

自动执行多个twilio调用的过程的正确方法是什么。我已经尝试使用for循环并输入电话号码,但这不起作用,因为它似乎twilio允许一次只有活动呼叫。这就是我的代码:

    Contacts myContacts = new Contacts();
    String[] contactList = null;
    try {
        contactList = myContacts.getContacts();//gets all my contacts
    } 
    catch (IOException ex) {
        Logger.getLogger(Calls.class.getName()).log(Level.SEVERE, null, ex);
    }

    List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("Url", "http://demo.twilio.com/docs/voice.xml"));
    params.add(new BasicNameValuePair("To", "**********"));//I'd like to do this with all my contacts one after the other
    params.add(new BasicNameValuePair("From", "**********"));
    params.add(new BasicNameValuePair("Method", "GET"));

    CallFactory callFactory = client.getAccount().getCallFactory();
    Call call = null;
    try {
        call = callFactory.create(params);
    } catch (TwilioRestException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

我看了一些twilio文档,这对我来说并不是很清楚。我希望这不是一个愚蠢的问题,我真的很感激一些帮助。

1 个答案:

答案 0 :(得分:0)

Twilio开发者传道者在这里。

您似乎根本没有使用循环。我不确定你的contactList数组实际上有什么,因为你把它作为一个字符串数组,但如果我可以假设这些字符串是电话号码那么这应该有效:

Contacts myContacts = new Contacts();
String[] contactList = null;
try {
    contactList = myContacts.getContacts();//gets all my contacts
} 
catch (IOException ex) {
    Logger.getLogger(Calls.class.getName()).log(Level.SEVERE, null, ex);
}

CallFactory callFactory = client.getAccount().getCallFactory();

for (String contact : contactList) {
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("Url", "http://demo.twilio.com/docs/voice.xml"));
    params.add(new BasicNameValuePair("To", contact));
    params.add(new BasicNameValuePair("From", "YOUR_TWILIO_NUMBER"));
    params.add(new BasicNameValuePair("Method", "GET"));

    Call call = null;
    try {
        call = callFactory.create(params);
    } catch (TwilioRestException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

注意,我循环遍历contactList并每次创建一组新参数,并在联系人中填入To参数。然后我也在for循环中进行调用。

让我知道这是否有帮助。