无法检索用户属性(联系人等集合)

Unable to retreive user properties (collections like contacts)

我正在尝试修改用户的 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();

要列出您必须呼叫的用户联系人:

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

图形客户端:

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

如果您想修改联系人,请查看文档:

Create contact

Update contact