繁体   English   中英

使用OData过滤guid(Microsoft Graph)

[英]Filtering on guid using OData (Microsoft Graph)

我正在尝试使用Microsoft Graph API获取具有特定许可证的用户列表。 这可以使用Graph Explorer进行测试。

这是一个用户返回内容的裁剪示例:

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
    "id": "69615b5e-8b26-430c-ae89-4e626f5ba240",
    "accountEnabled": true,
    "assignedLicenses": [
        {
            "disabledPlans": [],
            "skuId": "f8a1db68-be16-40ed-86d5-cb42ce701560"
        },
        {
            "disabledPlans": [],
            "skuId": "6fd2c87f-b296-42f0-b197-1e91e994b900"
        }
    ]
}

我想获得所有拥有指定许可证的用户的列表,其中skuId为“f8a1db68-be16-40ed-86d5-cb42ce701560”

这是我到目前为止所尝试的:

https://graph.microsoft.com/beta/users?$filter=AssignedLicenses/any(a:a/SkuId eq 'f8a1db68-be16-40ed-86d5-cb42ce701560')

给我错误:

检测到具有不兼容类型的二元运算符。 找到操作数类型'Edm.Guid'和'Edm.String',用于运算符类'Equal'。

https://graph.microsoft.com/beta/users?$filter=AssignedLicenses/any(a:a/SkuId eq f8a1db68-be16-40ed-86d5-cb42ce701560)

给我错误:

')'或','预期在'assignedLicenses / any(a:a / skuId eq f8a1db68-be16-40ed-86d5-cb42ce701560)'的第42位。

https://graph.microsoft.com/beta/users?$filter=AssignedLicenses/any(a:a/SkuId eq cast('f8a1db68-be16-40ed-86d5-cb42ce701560',Edm.Guid))

给我错误:

演员表中的子类型'Edm.Guid'不是实体类型。 转换只能在实体类型上执行。

这个SO帖子表明我的第一次尝试可行,但事实并非如此。 我做错了什么或是不可能通过许可证分配过滤?

基于该文档 ,似乎这个属性不支持过滤器,因为其他属性支持过滤器,文档将在描述文件中提到类似accountEnableduser资源类型(参考此链接 )。

如果您需要此属性支持过滤器,可以从此处提交反馈。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM