获取 SharePoint 列表内容类型
Getting SharePoint List Content Types
目前我们正在使用以下 REST 查询获取所有子站点中的所有列表。
'/_api/Web/Webs?$expand=Lists&select=Title,id,ParentWebUrl'
现在我们还想获取这些列表中使用的所有内容类型。尝试扩展 ContentTypes,但无法正常工作。
任何人都可以帮助获取属于这些列表的内容类型吗?即使在 REST 查询中按内容类型过滤,它本身也很好。
或者有什么方法可以在列表的搜索结果中做到这一点?
在到处搜索并没有在这里得到答案之后,我得出的结论是不可能这样做。因此,我使用 SharePoint 搜索服务来获取我的结果。
querytext = 'path:"your site collection path" AND (ContentClass:"STS_List_GenericList" OR ContentClass:"STS_List_DocumentLibrary")';
后来我决定将 listID 添加到查询中,因为我从之前的项目搜索中获取了 ListID。
querytext = '(ListID:"Your list1 ID" OR ListID:"Your list2 ID" OR ListID:"Your listn ID")" AND (ContentClass:"STS_List_GenericList" OR ContentClass:"STS_List_DocumentLibrary")';
现在的问题是,如果列表 ID 超过 75 个,查询文本的最大字符数就会超过,并且不会收到任何结果。
想办法提高最大限制,发现没有办法,我将列表ID分成一组75个ID,每组分别发送请求,然后合并在一起。
你可以在这里阅读它是如何完成的 Batch Search requests
这是对 SharePoint Online 租户的 REST 调用(您未指定版本)。如果您遍历您的列表并为每个列表调用此方法,您可以总结您网站上的内容类型。
https://YOURTENNANT.sharepoint.com/sites/YOURSITE/_api/lists/getbytitle('YOURLISTNAME')/contenttypes
目前我们正在使用以下 REST 查询获取所有子站点中的所有列表。
'/_api/Web/Webs?$expand=Lists&select=Title,id,ParentWebUrl'
现在我们还想获取这些列表中使用的所有内容类型。尝试扩展 ContentTypes,但无法正常工作。
任何人都可以帮助获取属于这些列表的内容类型吗?即使在 REST 查询中按内容类型过滤,它本身也很好。
或者有什么方法可以在列表的搜索结果中做到这一点?
在到处搜索并没有在这里得到答案之后,我得出的结论是不可能这样做。因此,我使用 SharePoint 搜索服务来获取我的结果。
querytext = 'path:"your site collection path" AND (ContentClass:"STS_List_GenericList" OR ContentClass:"STS_List_DocumentLibrary")';
后来我决定将 listID 添加到查询中,因为我从之前的项目搜索中获取了 ListID。
querytext = '(ListID:"Your list1 ID" OR ListID:"Your list2 ID" OR ListID:"Your listn ID")" AND (ContentClass:"STS_List_GenericList" OR ContentClass:"STS_List_DocumentLibrary")';
现在的问题是,如果列表 ID 超过 75 个,查询文本的最大字符数就会超过,并且不会收到任何结果。 想办法提高最大限制,发现没有办法,我将列表ID分成一组75个ID,每组分别发送请求,然后合并在一起。 你可以在这里阅读它是如何完成的 Batch Search requests
这是对 SharePoint Online 租户的 REST 调用(您未指定版本)。如果您遍历您的列表并为每个列表调用此方法,您可以总结您网站上的内容类型。
https://YOURTENNANT.sharepoint.com/sites/YOURSITE/_api/lists/getbytitle('YOURLISTNAME')/contenttypes