【问题标题】:How do I get the mimetype and file ID using the Microsoft Graph API for OneDrive?如何使用 Microsoft Graph API for OneDrive 获取 mimetype 和文件 ID?
【发布时间】:2021-10-14 02:55:16
【问题描述】:

我们正在将我们的产品与 MS OneDrive 集成。我们的用户将连接他们的 MS 帐户并选择他们希望我们从中提取文件的文件夹。我们的系统仅支持某些文件类型,因此我们必须在发出请求后获取 mimetype 信息和文件 ID。但是我们找不到一个请求可以带回这两条信息,因此我们可以确定是否应该提取文件。

这很接近,但它没有给我们 mimetype 信息。

https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/drive_recent?view=odsp-graph-online

有人有什么想法吗?

【问题讨论】:

    标签: microsoft-graph-api onedrive


    【解决方案1】:

    get 方法可让您检索有关文件的各种信息:https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_get?view=odsp-graph-online

    它返回一个driveItem 对象,该对象具有file 属性。而file 属性具有mimeType 属性。请参阅此处https://docs.microsoft.com/en-us/onedrive/developer/rest-api/resources/driveitem?view=odsp-graph-online 和此处https://docs.microsoft.com/en-us/onedrive/developer/rest-api/resources/file?view=odsp-graph-online

    不幸的是,这意味着您需要多次请求才能获得所需的信息。

    如果按文件名后缀过滤对你来说足够好,你可以这样查询 OneDrive:

    POST /search/query
    Content-Type: application/json
    
    {
      "requests": [
        {
          "entityTypes": [
            "driveItem"
          ],
          "query": {
            "queryString": "filetype:docx OR filetype:doc"
          }
        }
      ]
    }
    

    文档:https://docs.microsoft.com/en-us/graph/search-concept-files#example-5-use-filters-in-search-queries

    【讨论】:

    • 所以我们的流程看起来像这样:
    • 所以我们的流程需要看起来像这样: 1) 轮询文件夹看是否有新文件; 2) 如果有新文件,则发出 driveItem 请求以获取 ID; 3)然后我们需要请求items的properties来获取mimetype来判断是否是我们支持的文件; 4) 对于我们支持的 mimetype 的任何新文件,然后我们将这些文件拉过来;那是对的吗?这比 Google 为他们的 Google Drive 集成提供的要复杂得多。非常感谢你的帮助。我是一名 PM,因此对我的开发人员的任何具体代码建议表示赞赏!
    • 步骤 2) 不需要。第 1 步)(类似于GET /me/drive/recent)为您提供ids。但我想我找到了另一种解决方案。我更新了我的答案。
    • 谢谢!让我由我们的工程团队来运行它。我真的很感激,会尽快回复你!!
    • 您好。我们的工程团队真的想使用 mimetype 而不是文件类型。显然,在某些极端情况下,文件类型可能会产生 mimetype 不会遇到该问题的问题。我可能应该得到更多的细节。我会环顾四周并尝试找到一些示例以连接到 OneDrive 并需要 mimetype。
    猜你喜欢
    • 2021-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多