Фильтрация журналов вызовов с помощью вспомогательной библиотеки Twilio .NET

Я пытаюсь использовать Twilio Rest API, чтобы получить список журналов вызовов с помощью MVC .net. Используя следующий код, я могу получить только 50 последних вызовов. Я хотел бы ответить на все звонки и отфильтровать их по своему усмотрению.

@using Twilio;
@{
    // Set our AccountSid and AuthToken
    string sid = "AC123";
    string token = "abcd";

    // Instantiate a new Twilio Rest Client
    var client = new TwilioRestClient(sid, token);    

    // Get Recent Calls
    var calls = client.ListCalls();

    if (calls.RestException != null) 
    {
        Response.Write(string.Format("Error: {0}", calls.RestException.Message));
        Response.End();
    }    
}
<h1>Call Log</h1>
@foreach (var call in calls.Calls) {
    <p>Call from @call.From to @call.To at @call.StartTime of length @call.Duration</p>
}

Как я могу перезвонить на все звонки из журнала звонков?


person user1289451    schedule 14.09.2012    source источник


Ответы (1)


Метод Call возвращает выгружаемый список вызовов, где размер страницы по умолчанию - 50.

Таким образом, вам нужно выполнить разбиение на страницы с перегрузкой ListCalls, которая принимает CallListRequest, где вы можете указать pageNumber.

Вот пример того, как пролистать все звонки:

var client = new TwilioRestClient(sid, token);    

var pageNumber = 0;
var totalPages = 1;

var allCalls = new List<Call>();

while(pageNumber < totalPages)
{
    var calls = client.ListCalls(new CallListRequest { PageNumber = pageNumber });

    if (calls.RestException != null) 
    {
         Response
             .Write(string.Format("Error: {0}", calls.RestException.Message));
         Response.End();
         break;
    }  
    allCalls.AddRange(calls.Calls);
    totalPages = calls.NumPages;
    pageNumber++;        
} 
person nemesv    schedule 14.09.2012
comment
Спасибо!! Самая большая проблема, с которой я столкнулся, заключалась в том, чтобы найти правильный синтаксис для передачи ListCalls, и вы прекрасно это объяснили. - person user1289451; 14.09.2012
comment
У вас есть идеи, как перезвонить за определенный диапазон дат? Я могу перезвонить на определенную дату, но не нашел способа сделать это для диапазона ... - person user1289451; 15.09.2012
comment
Нет, похоже, текущий REST API не поддерживает диапазоны дат. Что вы можете сделать, так это просмотреть свой диапазон дат и получить звонки на заданную конкретную дату ... - person nemesv; 15.09.2012