查找用户是否曾在 SharePoint 列表中创建过项目(大多数用户的项目数量超过 5000 个)

问题描述 投票:0回答:1

如果用户曾经将一个项目添加到一个非常大的列表(超过 6000 个项目),我需要编写一个简单的答案。 如果使用 SharePoint REST,对于大多数用户来说,结果将是错误:“尝试的操作被禁止,因为它超出了列表视图阈值。” 使用图表项查询还会返回“请求无法处理,因为它使用了太多资源”

我想知道图表“/search/query”是否可以解决问题,但我不知道如何表达查询字符串以包含站点、列表和用户 ID。 点击次数就足够了。 有人知道如何构建查询字符串吗? 谢谢你

search sharepoint microsoft-graph-api
1个回答
0
投票

我没有超过 5000 个项目的列表,但搜索 API 可以提供帮助

POST https://graph.microsoft.com/v1.0/search/query

{
    "requests": [
        {
            "entityTypes": [
                "listItem"
            ],
            "query": {
                "queryString": "authorOWSUSER:\"[email protected]\" AND path:\"https://contoso.sharepoint.com/sites/{site_name}/Lists/{list_name}\""
            },
            "fields": [
                "id",
                "title",
                "author",
                "authorOWSUSER"
            ],
            "size": 1
        }
    ]
}

将过滤器应用于托管属性

authorOWSUSER
,显示该项目的创建者。您可以指定电子邮件或用户名。

要缩小特定 SharePoint 列表的范围,请使用

path
属性。

如果您只需要检查用户是否创建了任何项目,则将

size
属性设置为 1 以返回一个结果。

© www.soinside.com 2019 - 2024. All rights reserved.