"Me" 的 Azure AD Graph API 经理始终为空
Azure AD Graph API Manager of "Me" always null
我正在尝试读取当前帐户的经理。
下面是读取 "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;
我正在尝试读取当前帐户的经理。
下面是读取 "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;