Microsoft Graph returns 查询 Sharepoint 子站点时出现 422 错误

Microsoft Graph returns 422 error on querying Sharepoint subsites

我的 API 试图在一个巨大的 Microsoft Sharepoint 中查询一个站点的子站点,但是图形 API returns 一个 422“请求无法处理,因为它使用了太多资源”错误。

我为实现此目标而调用的 URL 是 https://graph.microsoft.com/v1.0/sites/site_id/sites 。使用 Graph Explorer 时,这会 return 大约 8-10 个子站点,然后可以递归查询(在同一个 URL 中使用它们的站点 ID)。这可以深入到大约 5 个级别,每个站点都有一个包含文件的文档库。在另一个 Sharepoint 中,我的 API 能够成功地做到这一点,因为我认为它要小得多。

我也试过使用 $top 并因此将每个响应的结果限制为 1,但仍然出现相同的错误。

有没有人知道这是怎么回事,是否有解决方法?提前致谢。

编辑:完整响应正文

{
    "error": {
        "code":"notSupported", 
        "message": "The request is unprocessable because it uses too many resources",
        "innerError": {
            "date": "2021-07-13T08:21:45", 
            "request-id":"48de58fe-90b5-4a49-8236-e8b2c981e837",
            "client-request-id":"48de58fe-90b5-4a49-8236-e8b2c981e837"
        }
    }
}

在这个问题困扰了很长时间之后,我终于通过将 Prefer: apiversion=2.1 作为 header 添加到这个特定的请求中解决了这个问题。