Microsoft graph api MS Graph SDK.NET使用documentLibrary模板查询所有列表

Microsoft graph api MS Graph SDK.NET使用documentLibrary模板查询所有列表,microsoft-graph-api,sharepoint-online,microsoft-graph-sdks,Microsoft Graph Api,Sharepoint Online,Microsoft Graph Sdks,借助Microsoft Graph SDK for.NET,我想枚举我的根站点中的所有文档库(例如http://mydomain.sharepoint.com)对于其中的每一个,列举它们的列定义 由于需要这些列,我无法使用查询“/sites/{site id}/drives”,因为它将返回没有任何列的驱动器对象。 因此,我发现执行此操作的唯一方法是根据API引用,使用模板属性设置为“documentLibrary”的筛选器查询所有列表: 在图形浏览器中,适当的查询似乎是:https://grap

借助Microsoft Graph SDK for.NET,我想枚举我的根站点中的所有文档库(例如http://mydomain.sharepoint.com)对于其中的每一个,列举它们的列定义

由于需要这些列,我无法使用查询“/sites/{site id}/drives”,因为它将返回没有任何列的驱动器对象。 因此,我发现执行此操作的唯一方法是根据API引用,使用模板属性设置为“documentLibrary”的筛选器查询所有列表:

在图形浏览器中,适当的查询似乎是:https://graph.microsoft.com/v1.0/sites/root/lists?$filter=list/template eq'documentLibrary',但它会发回一个错误(没有'around documentLibrary'时也是如此)。但我没有找到任何方法来实现这一点,无论是使用.NETSDK还是图形浏览器

欢迎任何帮助,提前谢谢


SharePoint列表上的图形API不支持筛选或排序结果。当MicrosoftGraph看到一个它不期望的查询参数时,它只是忽略未知的筛选参数并返回一个未筛选的结果;或者只返回不受支持的提示

使用select和expand语句,可以检索列表元数据, 列定义,并在单个请求中列出项

而目前可用的文件仅说明:

对$filter运算符的支持因Microsoft Graph API而异

“变化”一词的含义是,并非所有产品都完全支持这些选项

因此,如果您请求v1.0/sites/root/lists?$filter=list/template eq'documentLibrary',您将收到以下响应消息:

“消息”:“不支持提供的筛选语句”


你需要改变你的设计。同时,您可以在中投票支持现有功能请求或提交新的功能请求。

感谢您给出明确的答案。我在userVoice中提出了一个想法,对于任何对该功能感兴趣的人,请毫不犹豫地投票表决。对于任何感兴趣的人来说,我的解决方案是查询所有列表,并使用检查list.listinfo.template属性的if语句重新生成筛选函数。由于一个站点中通常没有大量的列表,所以性能问题不是一个大问题。