如何通过Graph API基于App ID列表批量获取Azure应用?
批量查询Azure AD应用详情的实现方案
直接修改代码,通过Graph API的$filter结合in运算符实现批量筛选,替代原来的单App ID查询方式:
var appIds = new[] { "id1", "id2", "id3" }; // 构造批量筛选的filter条件 var filterString = $"appId in ({string.Join(",", appIds.Select(id => $"'{id}'"))})"; var applications = await this.graphServiceClient.Applications .GetAsync(requestConfiguration => { requestConfiguration.QueryParameters.Select = new[] { "id", "appId", "displayName", "requiredResourceAccess" }; requestConfiguration.QueryParameters.Filter = filterString; });
关键说明
- 不再使用
ApplicationsWithAppId单实例查询方法,改用Applications集合接口发起请求 - 通过
appId in (...)的筛选条件,一次性匹配数组内所有App ID - 保留了你原有的
Select参数,只获取需要的属性字段,避免返回冗余数据 - 你的Graph客户端已配置好
Application.ReadWrite.OwnedBy权限且是目标应用所有者,权限要求完全满足
内容的提问来源于stack exchange,提问作者PVIJAY
相关产品推荐
相关产品推荐

