小编Mat*_*att的帖子

为什么 graphClient.Me.Request().GetAsync() 会为某些非空的 AAD 配置文件字段返回空值?

我正在使用 Graph API 从 UWP 应用访问用户信息。我将 Azure 应用服务与客户端 UWP 应用和 Azure 后端一起使用。

我的 Azure Active Directory 只有我和一个测试用户。我的应用程序中的以下几行确实从 AAD 返回了我的一些信息:

Microsoft.Graph.GraphServiceClient graphClient =
        new Microsoft.Graph.GraphServiceClient(new DelegateAuthenticationProvider((requestMessage) =>
{
       requestMessage.Headers.Authorization =
           new System.Net.Http.Headers.AuthenticationHeaderValue("bearer", result2.AccessToken);
       return Task.FromResult(0);
}));

Microsoft.Graph.User user = await graphClient.Me.Request().GetAsync();
Run Code Online (Sandbox Code Playgroud)

但是,当我在调用后检查“user”变量的内容时,除 DisplayName、GivenName、ID、JobTitle、AdditionalItems 和 UserPrincipleName 之外的所有字段都列为空。不为空的值是正确的。但是,我还填写了所有街道地址字段,并为我在 AAD 上的个人资料提供了个人资料图片。但是这些也返回 null。谁能告诉我是什么导致了这种情况?(我检查了随请求发送的访问令牌,它似乎包含所需的权限。只是为了确保,当我在 AAD 中注册我的应用程序时,我为 Windows Azure AD 和 Microsoft Graph 请求了所有委托所需的权限.)

谢谢。

azure-mobile-services azure-active-directory microsoft-graph-api

2
推荐指数
1
解决办法
2853
查看次数