我正在读往来账户经理的报告。
下面是读取"Me"对象的函数的代码片段。我已经在Azure AD的帐户中设置了管理器并再次检查了。
管理器对象总是空的,尽管我可以在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;
}
在获取用户时尝试添加Expand(x=> x.Manager)
。当我搜索具有指定主体名称的用户的管理器时,它帮助了我。
var user = (User) await activeDirectoryClient.Me
.Expand(x => x.Manager)
.ExecuteAsync();
var manager = user.Manager as User;