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

使用应用权限调用Microsoft Graph API搜索租户列表项遇Region必填错误,求C#解决方案

问题描述

我尝试访问Microsoft Graph API以搜索租户中的列表项,调用用户或组的GET请求时一切正常。但按照微软官方文档使用HttpClient发送搜索POST请求时,收到如下错误:

Failed to call the web API: BadRequest
Content: {"error":{"code":"System.Exception","message":"SearchRequest Invalid (Region is required when request with application permission.)\r\nRegion is required when request with application permission.","target":"","details":null,"warnings":null,"level":"Error","httpCode":400},"Instrumentation":{"TraceId":null}}

我在.NET Core中测试也出现相同错误,但将访问码粘贴到HTML文件中用Ajax调用搜索API却能正常工作。请问我的C#代码中缺少了什么?

解决方案

错误提示已经明确:使用应用权限调用搜索API时必须指定Region参数。

Ajax调用正常是因为你用的是委派权限(基于用户上下文),而C#代码采用的是应用权限模式,两种模式对搜索API的要求不同。

具体修正步骤:

  • 在POST请求的JSON请求体中,为每个搜索请求添加region字段,值设置为你的租户所在区域(例如"na"代表北美、"eu"代表欧洲,根据实际情况选择)
  • 确保请求体结构正确,示例如下:
{
  "requests": [
    {
      "entityTypes": ["listItem"],
      "query": {
        "queryString": "你的搜索关键词"
      },
      "region": "na"
    }
  ]
}
  • 检查C#代码中是否正确序列化了包含region字段的请求对象,避免序列化过程中丢失该字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 22:33:24