【问题标题】:Microsoft Graph API, can I filter List ItemsMicrosoft Graph API,我可以过滤列表项吗
【发布时间】:2021-07-05 10:47:19
【问题描述】:

我可以通过以下方式获取列表中的所有项目: https://graph.microsoft.com/v1.0/sites/{SiteID}/lists/{ListID}/items

我可以通过以下方式获取列表中的特定项目: https://graph.microsoft.com/v1.0/sites/{SiteID}/lists/{ListID}/items/{ItemID}

但我必须知道 ItemID 才能与该特定项目交互。

有没有办法在列表项上使用 $search 或 $filter 来通过我的实际列值之一来查找项目,例如 $filter=Title eq 'whatever',然后能够提取该项目的 ItemID所以我可以更新它的值?

还是我只需要下载整个列表并自己过滤?如果它是一个大列表,似乎效率低下。

谢谢!

【问题讨论】:

  • AFAIK,为列表创建的列没有索引,因此它们不可搜索或不可过滤。您可以使用此 http 调用 https://graph.microsoft.com/v1.0/sites/{siteid}/lists/{listid}/items?$expand=fields 简单地获取带有字段(列)的项目,然后通过编写代码对其进行过滤。

标签: microsoft-graph-api


【解决方案1】:

可以通过添加标题Prefer: HonorNonIndexedQueriesWarningMayFailRandomly来允许过滤。

GET https://graph.microsoft.com/v1.0/sites/{siteId}/lists/{listId}/items?$expand=fields&filter=fields/Title eq 'whatever'

一个缺点是此类查询在大型列表中可能会失败

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-11
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多