【问题标题】:Outlook Contacts API - Paging ResultsOutlook 联系人 API - 分页结果
【发布时间】:2016-09-25 01:15:51
【问题描述】:

我正在尝试显示所选帐户的所有 Outlook 联系人。当一个帐户有几千个联系人时,下面的代码只显示前 n 个联系人。 contactResults 对象有一个 MorePagesAvailable 属性和一个可用的 GetNextPageAsync() 方法,但我显然不知道如何使用它们。有人可以请教我。

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);

【问题讨论】:

    标签: c# outlook contacts


    【解决方案1】:
    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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多