Microsoft Graph API搜索报错:Unexpected segment DynamicPathSegment 求助
问题解决建议
一、修复/search/query接口的路径错误
你当前遇到的Unexpected segment DynamicPathSegment错误,核心原因是用错了API端点:
- 错误的请求路径:
https://graph.microsoft.com/v1.0/users/<my mailbox name>/search/query - 正确的全局搜索端点应为:
https://graph.microsoft.com/v1.0/search/query
search/query是Graph API的全局级别端点,不属于users资源的子路径,挂载到users路径下会导致路径解析失败。
二、针对搜索人员需求调整请求体
你的实际需求是搜索人员,需把请求体里的entityTypes从message改为person,示例请求体如下:
{ "requests": [ { "entityTypes": [ "person" ], "query": { "queryString": "输入你要搜索的人员关键词" }, "from": 0, "size": 25 } ] }
三、权限验证
确保你的请求已获得正确的权限:
- 委派权限(用户身份):
User.ReadBasic.All、People.Read、Search.Read - 应用权限:
User.ReadBasic.All、People.Read.All、Search.Read.All
权限不足会导致请求失败或返回空结果。
四、关于/people接口的补充说明
如果你尝试使用/people接口时遇到问题,需注意:
- 请求头中添加
X-PeopleQuery-QuerySources,值设为Directory, Mailbox以指定搜索来源 - 确认当前账号有权限访问目标用户的目录信息
内容的提问来源于stack exchange,提问作者Sandeep Bhutani
相关产品推荐
相关产品推荐

