使用Postman调用Azure DevOps Rest API无法下载附件如何解决
Azure DevOps Rest API 下载附件请求无效报错解决方案
错误返回样例:
{ "count": 1, "value": { "Message": "The request is invalid." } }
解决步骤
- 确认API调用路径合规
正确的附件下载接口格式如下,不要直接使用工作项ID作为附件ID,附件ID需要先从对应工作项的详情接口中获取:GET https://dev.azure.com/{组织名称}/{项目名称}/_apis/wit/attachments/{附件ID}?api-version=7.1-preview.3&download=true - 校验PAT授权配置
- 请求头必须添加字段:
Authorization: Basic <Base64编码后的字符串> - 编码规则为将字符串
:你的PAT令牌整体进行Base64编码,开头的冒号不可省略 - 生成PAT时必须勾选「工作项(Work Items)」的读取权限,权限范围不足会触发请求无效报错
- 请求头必须添加字段:
- 排查参数配置错误
所有接口参数必须放在URL的query部分,不要放在请求体中,不需要额外添加Content-Type请求头,错误的请求头配置会导致接口识别失败 - 快速验证方案
先调用工作项详情接口获取准确的附件下载地址:
在返回结果的GET https://dev.azure.com/{组织名称}/{项目名称}/_apis/wit/workitems/{工作项ID}?$expand=all&api-version=7.1-preview.3relations字段中,找到rel属性为AttachedFile的条目,直接使用该条目对应的url值发起GET请求,即可正常下载附件。
内容的提问来源于stack exchange,提问作者Harsh
相关产品推荐
相关产品推荐

