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

如何通过Postman从CompaniesHouse API下载文档?认证报错求助

解决Companies House文档API的认证冲突错误

看起来你遇到的是认证机制冲突的问题——这个错误提示来自底层的AWS S3服务(Companies House的文档存储在S3上),意思是你的请求同时传递了多种认证参数,违反了S3只允许单一认证方式的规则。

下面是一步步的排查和解决方法:

1. 彻底清理请求中的所有冗余认证内容

先在Postman里做一轮“大扫除”,避免多种认证方式冲突:

  • 切换到Params标签,检查是否有X-Amz-Algorithm、Signature、X-Amz-Credential这类AWS签名相关的查询参数,全部删除;
  • 切换到Headers标签,检查是否有重复的Authorization头,或者同时存在Authorization和AWS相关头(比如X-Amz-Signature),只保留后续要配置的正确头,其余全部删除;
  • 切换到Authorization标签,确保只选择一种认证类型,不要同时勾选多个(比如既选了Basic Auth又选了AWS Signature)。

2. 配置正确的Companies House认证方式

Companies House的文档API需要用你的平台API密钥通过Basic Auth传递:

  • 在Postman的Authorization标签,选择Basic Auth类型;
  • 在Username字段填入你的Companies House API密钥,Password字段留空(他们的API只要求密钥作为用户名,密码无要求);
  • Postman会自动生成对应的Authorization: Basic <base64编码的API密钥>请求头,这是官方要求的正确认证方式。

3. 验证请求的基础格式

确保你的请求URL正确替换了{id}为真实有效的文档ID,比如:

http://document-api.companieshouse.gov.uk/document/12345678/content

同时请求方法选择GET(文档内容获取接口默认用GET请求)。

4. 重新测试请求

完成以上配置后重新发送请求,应该就能避开认证冲突的错误了。如果还是失败,可以检查你的API密钥是否在有效期内,以及目标文档ID是否确实存在且你有权限访问。

补充:这个错误很容易在Postman中不小心触发——比如你之前测试过AWS相关API残留了参数,或者手动加了认证头又同时用了Postman的自动认证生成功能,所以清理冗余认证信息是解决问题的核心。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:44:00