Power Automate中如何通过@odata.type筛选Microsoft Graph的iOS合规策略?
解决Microsoft Graph筛选iOS/iPadOS设备合规策略的问题
可以通过@odata.type对应的实体类型来筛选,但不能直接用普通的$filter语法过滤@odata.type字段,得用Graph的类型判断函数来实现。
正确的筛选方式
使用isof()函数来判断实体类型,对应的筛选参数为:
$filter=isof('#microsoft.graph.iosCompliancePolicy')
完整的请求URL应该是:
https://graph.microsoft.us/v1.0/deviceManagement/deviceCompliancePolicies?$filter=isof('#microsoft.graph.iosCompliancePolicy')
为什么之前的筛选报错?
直接过滤@odata.type字段不符合Microsoft Graph的筛选规则,因为deviceCompliancePolicies返回的是多个派生实体的集合(比如iOS、Android等不同平台的合规策略),这些都是deviceCompliancePolicy的子实体。Graph要求判断这类派生实体类型时,必须用isof()函数,而不是直接匹配元数据字段,否则就会抛出你遇到的「类型转换不是实体类型」的错误。
Power Automate里的配置
在Power Automate的HTTP请求动作中,把$filter作为查询参数添加进去,参数值填isof('#microsoft.graph.iosCompliancePolicy')即可,这样就能只拉取iOS/iPadOS平台的设备合规策略。
内容的提问来源于stack exchange,提问作者CigarDoug
相关产品推荐
相关产品推荐

