我正在使用 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
作为联系人null
.
var Folders = client
.Me
.ContactFolders
.Request()
.Top(1000)
.GetAsync();
Folders.Wait();
var contacts = Folders.Result.SelectMany(a => a.Contacts).ToList();
我现在在这台机器上没有环境可以测试,但据我了解,您可以使用选项查询参数来过滤子文件夹中的联系人。
-
你需要找出所有子文件夹
获取 /users/{id | userPrincipalName}/contactFolders
- 收集所有子文件夹 ID
-
在每个子文件夹中查找联系人
获取 /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_contactfolders
https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/user_list_contacts https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/user_list_contacts
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)