我正在尝试阅读当前帐户的经理。
下面你会看到读取“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;
}
答案 0 :(得分:1)
尝试在获取用户时添加Expand(x=> x.Manager)
。当我搜索具有指定主体名称的用户的经理时,它帮助了我。
我想以下代码段对您有用:
var user = (User) await activeDirectoryClient.Me
.Expand(x => x.Manager)
.ExecuteAsync();
var manager = user.Manager as User;