首页 > 解决方案 > 无法检索用户属性(联系人等集合)

问题描述

我正在尝试修改用户的 Outlook 联系人,但我什至无法使用图形客户端获取它们。该应用程序基本上是一种使用客户端<>秘密进行身份验证的服务。我错过了权限还是我以错误的方式批准了它?

我尝试了以下代码:

IConfidentialClientApplication cca = ConfidentialClientApplicationBuilder
                .Create(Startup.Configuration["AppConfiguration:Office365:ClientId"])
                .WithClientSecret(Startup.Configuration["AppConfiguration:Office365:ClientSecret"])
                .WithTenantId(Startup.Configuration["AppConfiguration:Office365:TenantId"])
                .Build();

ClientCredentialProvider ccp = new ClientCredentialProvider(cca);
_confidentialClient = new GraphServiceClient(ccp);

User user = await _confidentialClient.Users["someone@something.com"]
    .Request()
    .Select(u => new
    {
        u.Id,
        u.Contacts
    })
    .Expand(u => new
    {
        u.Contacts
    })
    .GetAsync();

标签: c#microsoft-graph-apimicrosoft-graph-sdks

解决方案


要列出用户联系人,您必须调用:

https://graph.microsoft.com/v1.0/users/{id}/contacts

图客户端:

await _confidentialClient.Users["someone@something.com"].Contacts.Request().GetAsync();

如果要修改联系人检查文档:

创建联系人

更新联系人


推荐阅读