调用Graph API返回400 Bad Request但Postman可正常运行
解决调用Graph API /me接口返回400 Bad Request的问题
以下是几种常见的排查方向和解决方法:
检查请求头配置
GET请求不需要设置Content-Type头,部分HTTP客户端会默认添加该头并附带空请求体,这会导致Graph API返回400。确保请求只保留必要的头:Authorization: Bearer <你的token>Accept: application/json
移除多余的Content-Type或其他无关请求头。
验证Token的使用格式
确认Authorization头的格式完全正确:前缀Bearer和token之间必须有一个空格,token本身没有前后空格、换行或多余字符。手动复制token时容易带入无效字符,Postman会自动处理这类问题,但自定义代码中容易忽略。排查HTTP客户端的默认行为
有些HTTP库对GET请求的处理存在默认设置,比如强制发送空请求体,或者自动添加不符合要求的头。检查你的代码,确保GET请求没有设置请求体(即使是空的也不行),比如Python的requests库中,不要给get方法传data或json参数。确认请求URL的准确性
确保请求的URL严格为https://graph.microsoft.com/v1.0/me,没有额外字符、编码错误或路径拼接问题。部分客户端会自动对URL做错误编码,导致请求地址无效。对比请求详情(抓包验证)
用抓包工具(如Fiddler、Charles)分别捕获客户端和Postman发送的请求,对比两者的请求头、URL、请求体等细节。通常能直接发现差异,比如客户端多了某个不必要的头,或者URL存在细微错误。
内容的提问来源于stack exchange,提问作者Sagar Kumar
相关产品推荐
相关产品推荐

