从 Azure Graph API 获取用户应用程序访问权限
Obtaining a users Application access from Azure Graph API
我正在使用 GraphHelper 库 (http://www.nuget.org/packages/Microsoft.Azure.ActiveDirectory.GraphClient) 从 Azure AD 获取用户详细信息。但是,我正在努力获取 approles 信息,它 returns:
资源 'appRoleAssignments' 不存在或其查询的引用之一 - 属性 对象不存在。
代码:
public static async Task<List<AzureAppRole>> GetApplications(User user)
{
var appRoles = new List<AzureAppRole>();
var userFetcher = user as IUserFetcher;
IPagedCollection<IAppRoleAssignment> rawObjects = await userFetcher.AppRoleAssignments.ExecuteAsync();
do
{
List<IAppRoleAssignment> directoryObjects = rawObjects.CurrentPage.ToList();
foreach (IAppRoleAssignment dobject in directoryObjects)
{
if (dobject is AppRole)
{
var u = (AppRole)dobject;
appRoles.Add(new AzureAppRole
{
DisplayName = u.DisplayName,
ObjectId = u.Value
});
}
}
rawObjects = rawObjects.GetNextPageAsync().Result;
} while (rawObjects != null && rawObjects.MorePagesAvailable);
return appRoles;
}
编辑:
查看原始 API 调用,我可以看到它正在调用以下内容,当使用 GraphExplorer 查询时会导致错误:
https:// graph.windows.net/tenant/directoryObjects/objectid/appRoleAssignments?api-version=1.5
但是,以下查询导致返回结果:
https:// graph.windows.net/tenant/users/objectid/appRoleAssignments?api-version=1.5
这是库中的错误吗?
感谢您报告错误。已在 Graph 客户端库 2.0.5 中修复。
我正在使用 GraphHelper 库 (http://www.nuget.org/packages/Microsoft.Azure.ActiveDirectory.GraphClient) 从 Azure AD 获取用户详细信息。但是,我正在努力获取 approles 信息,它 returns:
资源 'appRoleAssignments' 不存在或其查询的引用之一 - 属性 对象不存在。
代码:
public static async Task<List<AzureAppRole>> GetApplications(User user)
{
var appRoles = new List<AzureAppRole>();
var userFetcher = user as IUserFetcher;
IPagedCollection<IAppRoleAssignment> rawObjects = await userFetcher.AppRoleAssignments.ExecuteAsync();
do
{
List<IAppRoleAssignment> directoryObjects = rawObjects.CurrentPage.ToList();
foreach (IAppRoleAssignment dobject in directoryObjects)
{
if (dobject is AppRole)
{
var u = (AppRole)dobject;
appRoles.Add(new AzureAppRole
{
DisplayName = u.DisplayName,
ObjectId = u.Value
});
}
}
rawObjects = rawObjects.GetNextPageAsync().Result;
} while (rawObjects != null && rawObjects.MorePagesAvailable);
return appRoles;
}
编辑:
查看原始 API 调用,我可以看到它正在调用以下内容,当使用 GraphExplorer 查询时会导致错误:
https:// graph.windows.net/tenant/directoryObjects/objectid/appRoleAssignments?api-version=1.5
但是,以下查询导致返回结果:
https:// graph.windows.net/tenant/users/objectid/appRoleAssignments?api-version=1.5
这是库中的错误吗?
感谢您报告错误。已在 Graph 客户端库 2.0.5 中修复。