gpt4 book ai didi

c# - 从所有 Outlook 联系人文件夹中获取联系人 Microsoft Graph

转载 作者:行者123 更新时间:2023-11-30 18:13:54 25 4
gpt4 key购买 nike

我正在使用 Microsoft Graph 通过以下代码检索联系人文件夹:

GraphServiceClient client = new GraphServiceClient(new DelegateAuthenticationProvider(
(requestMessage) => {
requestMessage.Headers.Authorization =
new AuthenticationHeaderValue("Bearer", accessToken);
return Task.FromResult(0);
}));

var contactsData = await client
.Me
.Contacts
.Request()
.Top(1000)
.GetAsync();

上述代码返回联系人,但仅返回默认文件夹中的联系人。我想从用户的所有文件夹中检索联系人。

我试过先获取文件夹,然后再获取它们的联系人,但它返回一个 Null Reference Exception,因为 Contacts 是 null

var Folders = client
.Me
.ContactFolders
.Request()
.Top(1000)
.GetAsync();

Folders.Wait();
var contacts = Folders.Result.SelectMany(a => a.Contacts).ToList();

最佳答案

我现在没有在这台机器上测试的环境,但据我了解,您可以使用选项查询参数来过滤子文件夹中的联系人。

  1. 你需要找出所有的子文件夹

    获取/用户/{id | userPrincipalName}/contactFolders

  2. 收集所有子文件夹ID
  3. 在每个子文件夹中查找联系人

    GET/me/contactFolder/{id}/childFolders/{id}/contacts

更多联系人文件夹和联系人相关信息。请阅读这些文档。 https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/user_list_contactfolders https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/user_list_contacts

关于c# - 从所有 Outlook 联系人文件夹中获取联系人 Microsoft Graph,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51760194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com