Bol Retailer API:使用 Python 和 API 版本 9 导出报价文件

问题描述 投票:0回答:1

当我尝试通过 Python 代码获取优惠文件时,我无法导出优惠文件。我正在尝试使用 Bol。 com API V9 并请求所有报价的列表。

headers = {
    'Accept': 'application/vnd.retailer.V9+json',
    "Content-Type": 'application/vnd.retailer.V9+json',
    "Authorization": "Bearer " + f"{access_token}"
}
params = {
    "format": "CSV",
}

url = "https://api.bol.com/retailer/offers/export"
response = requests.post(url, headers=headers, params=params)

你知道我错过了什么吗?或者他们的 API 目前只是有问题? POST 调用给了我一个看起来像这样的结果:

状态代码:400 { “类型”:“https://api.bol.com/problems”, "title" : "错误请求", “状态”:400, "detail" : "不支持提供的接受标头媒体类型。", “主机”:“实例106”, “实例”:“https://api.bol.com/retailer/offers/export?format=CSV” }

IMO 根据他们的文档,“Accept”标头看起来绝对没问题。

python bad-request
1个回答
0
投票

根据他们的文档(here),服务器接受 Json 格式的数据。所以正确的代码应该是这样的:

headers = {
    'Accept': 'application/vnd.retailer.V9+json',
    "Content-Type": 'application/vnd.retailer.V9+json',
    "Authorization": "Bearer " + f"{access_token}"
}
params = {
    "format": "CSV",
}

url = "https://api.bol.com/retailer/offers/export"
response = requests.post(url, headers=headers, json=params)  # <-- note the json= parameter
© www.soinside.com 2019 - 2024. All rights reserved.