【问题标题】:microsoft.graph.search Filter and Orderbymicrosoft.graph.search 过滤器和排序依据
【发布时间】:2016-07-19 18:22:34
【问题描述】:

我查看了此处 https://graph.microsoft.io/en-us/docs/api-reference/v1.0/api/item_search 和此处列出的 odata 查询参数 http://graph.microsoft.io/en-us/docs/overview/query_parameters

任何人都可以提供一些关于如何在使用 graph.microsoft.com/v1.0/me/drive/root/microsoft.graph.search 端点搜索 OneDrive For Business 文件时过滤文件夹以及如何获取 orderby 的指导去工作。看起来很简单,但我似乎找不到语法。

谢谢...

【问题讨论】:

    标签: office365 onedrive azure-ad-graph-api


    【解决方案1】:

    Microsoft Graph REST 不支持直接过滤文件夹或文件。您可以使用 OneDrive REST api 作为解决方法。下面是一个示例供您参考:

    GET: drive/root/children?filter=folder+ne+null
    

    在服务的 URL 根目录下: 有关 OneDrive REST 的更多详细信息,请参阅here。如果您希望 Microsoft Graph 也支持此功能,您可以通过here 提交反馈。

    【讨论】:

    • 谢谢,OneDrive For Business 似乎对过滤器有限制,因此文件夹似乎不起作用。另外,我已经使用“https://{tenant}-my.sharepoint.com/_api/v2.0”从“GET /drive/root/view.search?q=vacation”请求语法中尝试了 orderby /drive/root/view.search?q=find&orderby=name%20asc" 并且它不按名称排序。我只是错过了一块拼图,因为我要做的就是在 onedrive 中搜索业务文件并按名称对其进行排序而不返回文件夹。
    • 我也无法通过 OneDrive for business(OneDrive REST 和 Microsoft Graph)的搜索操作来使用订单。好像还不支持。如果您希望 Microsoft Graph 支持此 orderby,您可以留下来自 here 的反馈。
    【解决方案2】:

    现在 Microsoft Graph API 支持、过滤和排序 onedrive 中的项目。 使用下面的 Graph 端点从 onedrive 的根目录检索文件夹,

    https://graph.microsoft.com/v1.0/me/drive/root/children?$filter=folder ne null
    

    要按降序排列文件夹,请使用以下格式的 Graph API,

    https://graph.microsoft.com/v1.0/me/drive/root/children?$filter=folder ne null&orderby=name desc
    

    【讨论】:

      【解决方案3】:

      OneDrive API(和驱动器上的 Graph API)不支持过滤或排序来自 /search API 的结果。我会将其添加到我们的请求功能列表中,以供将来更新时考虑。同时,您需要在客户端对结果数据进行排序/过滤。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-10-29
        • 1970-01-01
        • 2020-01-18
        • 2018-01-16
        • 1970-01-01
        • 2015-03-21
        • 2019-01-09
        相关资源
        最近更新 更多