You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Graph API查询SharePoint sites时用startswith筛选遇错,如何解决?

解决Graph API搜索SharePoint站点displayName前缀字符的问题

直接调用https://graph.microsoft.com/v1.0/sites?$filter=startswith(displayName, 'C')报错的核心原因是:/sites根端点不支持直接枚举租户下所有站点,且该端点对$filter的支持存在限制,因此返回Cannot enumerate sites错误。

以下是可行的解决方法:

  • 检查权限配置
    确保你的应用已获取Sites.Read.All或Sites.ReadWrite.All的应用权限,且已由全局管理员完成权限同意——权限不足会直接限制站点枚举操作。

  • 使用Search API替代实现
    改用Graph的搜索端点来完成按displayName前缀筛选站点的需求,这是更可靠的方案。请求示例:

    POST https://graph.microsoft.com/v1.0/search/query
    Content-Type: application/json
    
    {
      "requests": [
        {
          "entityTypes": ["site"],
          "query": {
            "queryString": "displayName:C*"
          }
        }
      ]
    }
    

    该请求会返回所有displayName以C开头的站点,支持通过通配符*匹配前缀。

  • 特定站点集的筛选(可选)
    如果仅需筛选某个根站点下的子站点,可调用https://graph.microsoft.com/v1.0/sites/{site-id}/sites?$filter=startswith(displayName, 'C')——这个端点支持startswith过滤,但仅局限于指定站点的子站点范围。

内容的提问来源于stack exchange,提问作者Muhammed Yaseen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:05:09