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

为何Amazon Advertising报告API返回.bin格式而非预期的.json?

亚马逊 Sponsored Product 报告返回二进制内容解决方案

核心原因

你收到的二进制内容是gzip压缩后的报告数据流,亚马逊广告API为降低传输带宽占用,默认会对生成完成的报告做gzip压缩,因此不会直接返回明文JSON。

解决方法

方案1:Postman请求直接配置

  • 打开拉取报告的GET请求的Headers配置页,添加请求头:Accept-Encoding: gzip
  • Postman默认支持自动识别并解压gzip格式响应,重新发送请求即可直接获取明文JSON内容。

方案2:代码逻辑手动处理

如果是自行封装API请求代码,可按对应编程语言做解压处理:

Python示例

requests库默认会自动处理gzip响应,无需额外配置;若使用基础请求库可手动解码:

import gzip
import json

# response为GET请求返回的响应对象
decompressed_content = gzip.decompress(response.content)
report_json = json.loads(decompressed_content.decode("utf-8"))

Java示例

用GZIPInputStream包装响应流后读取:

import java.util.zip.GZIPInputStream;
import java.nio.charset.StandardCharsets;
import java.io.BufferedReader;
import java.io.InputStreamReader;

// 假设response为请求返回的响应对象
GZIPInputStream gzipStream = new GZIPInputStream(response.getEntity().getContent());
BufferedReader reader = new BufferedReader(new InputStreamReader(gzipStream, StandardCharsets.UTF_8));
// 逐行读取reader即可得到明文JSON内容

前置校验项

如果配置后仍未得到正常JSON,优先检查两个前提:

  • 确保报告已经生成完成:调用GET /reports/{reportId}接口查看status字段,仅当状态为COMPLETED时拉取的报告才有效
  • 确保请求路径正确:拉取报告文档的接口路径为GET /reports/{reportId}/document,不要遗漏末尾的/document路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:27:01