“我”的Azure AD Graph API Manager始终为null

时间:2015-09-26 18:58:05

标签: azure azure-active-directory azure-ad-graph-api

我正在尝试阅读当前帐户的经理。

下面你会看到读取“Me”对象的函数的代码。 我已将管理器设置在Azure AD中的帐户中并进行了双重检查。

Manager对象始终为null,但我可以在Azure管理门户中查看它。

有人解决这个问题吗?感谢。

    public async Task<Office365User> GetCurrentUser()
    {
        var currentUser = await this.Authentication.GetCurrentUser();

        var activeDirectoryClient = GetActiveDirectoryClient();

        var myAccount = await activeDirectoryClient.Me.ExecuteAsync();

        if(myAccount.Manager != null)
        {
            var managerAccount = await activeDirectoryClient.Users.GetByObjectId(myAccount.Manager.ObjectId).ExecuteAsync();
            if(managerAccount != null)
            {
                currentUser.Manager = managerAccount.ToOffice365User(currentUser.TenantId);
            }
        }
        return currentUser;
    }

1 个答案:

答案 0 :(得分:1)

尝试在获取用户时添加Expand(x=> x.Manager)。当我搜索具有指定主体名称的用户的经理时,它帮助了我。

我想以下代码段对您有用:

var user = (User) await activeDirectoryClient.Me
    .Expand(x => x.Manager)
    .ExecuteAsync();

var manager = user.Manager as User;