2012-09-14 61 views
2

我試圖使用Twilio Rest API來獲取使用MVC .net的通話記錄列表。使用下面的代碼,我只能得到最近的50個電話。我想按照我的選擇返回所有電話和過濾條件。使用Twilio .NET幫助程序庫篩選通話記錄

@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> 
} 

如何從通話記錄中返回所有通話?

回答

3

Call method正在返回調用的分頁列表,其中default pagesize是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++;   
} 
+0

謝謝!!我遇到的最大問題是找到通過ListCalls的正確語法,並且您完全解釋了這個問題 – user1289451

+0

您是否知道如何在某個日期範圍內返回呼叫?我可以返回一個特定日期的電話,但沒有辦法這樣做的範圍... – user1289451

+0

不,它接縫當前REST API不支持日期範圍。你可以做的是通過你的日期範圍,並獲得給定的具體日期的電話...... – nemesv