如果用户曾经将一个项目添加到一个非常大的列表(超过 6000 个项目),我需要编写一个简单的答案。 如果使用 SharePoint REST,对于大多数用户来说,结果将是错误:“尝试的操作被禁止,因为它超出了列表视图阈值。” 使用图表项查询还会返回“请求无法处理,因为它使用了太多资源”
我想知道图表“/search/query”是否可以解决问题,但我不知道如何表达查询字符串以包含站点、列表和用户 ID。 点击次数就足够了。 有人知道如何构建查询字符串吗? 谢谢你
我没有超过 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 以返回一个结果。