2016-05-26 6 views
1

選択したアカウントのすべてのOutlook連絡先を表示しようとしています。アカウントに数千人の連絡先がある場合、次のコードは最初のn人の連絡先のみを表示します。 contactResultsオブジェクトにはMorePagesAvailableプロパティとGetNextPageAsync()メソッドが用意されていますが、使用方法はわかりません。誰かが私を啓発してくれますか?Outlook連絡先API - ページング結果

string token = (string)Session["access_token"]; 
string email = (string)Session["user_email"]; 

// Since we have the token locally from the Session, just return it here 
OutlookServicesClient client = new OutlookServicesClient(new Uri("https://outlook.office.com/api/v2.0"), async() => { return token; }); 

client.Context.SendingRequest2 += new EventHandler<SendingRequest2EventArgs>((sender, e) => InsertXAnchorMailboxHeader(sender, e, email)); 

var contactResults = await client.Me.Contacts 
        .OrderBy(c => c.DisplayName) 
        .Take(2500) 
        .Select(c => new DisplayContact(c)) 
        .ExecuteAsync(); 

foreach (DisplayContact displayContact in contactResults.CurrentPage) 
    System.Diagnostics.Debug.WriteLine(displayContact); 

答えて

0
var contactResults = await client.Me.Contacts 
       .OrderBy(c => c.DisplayName) 
       .Select(c => new DisplayContact(c)) 
       .ExecuteAsync(); 

while (true) 
{ 
    foreach (DisplayContact displayContact in contactResults.CurrentPage) 
     System.Diagnostics.Debug.WriteLine(displayContact); 

    if (contactResults.MorePagesAvailable) 
     contactResults = await contactResults.GetNextPageAsync(); 
    else 
     break; 
} 
関連する問題