BestBuy API 端点之一是:
https://api.bestbuy.com/v1/products
他们的指南这里(请参阅最后一行)说,为了避免速率限制,可以在一次调用中获取多个 sku(产品)的数据,如下所示:
https://api.bestbuy.com/v1/products(sku in(43900,2088495,7150065))?apiKey=YourAPIKey
这有效。但是,对于像这样的其他一些 API 端点,我如何以类似的方式使用 in 运算符:
https://api.bestbuy.com/v1/products/{sku here}/viewedUltimatelyBought?apiKey=YourAPIKey
上述内容适用于单个 sku,例如 1542658,如下所示:
https://api.bestbuy.com/v1/products/1542658/viewedUltimatelyBought?apiKey=YourAPIKey
但是为了在一次调用中获取多个 sku 的数据,我尝试了像这样的查询变体,并且所有返回错误都表明查询无效:
https://api.bestbuy.com/v1/products/(sku in(6559245, 6559246, 6559247))/viewedUltimatelyBought?apiKey=YourAPIKey
https://api.bestbuy.com/v1/products/[6559245, 6559246, 6559247]/viewedUltimatelyBought?apiKey=YourAPIKey
https://api.bestbuy.com/v1/products/(6559245, 6559246, 6559247)/viewedUltimatelyBought?apiKey=YourAPIKey
有人可以为我正确构建查询吗?我知道在无法访问 API 的情况下可能会有点困难(显然我不能在这里分享我的 API 密钥),但我认为可能存在我不知道的此类请求的通用格式。如果重要的话,我使用以下代码来获取对查询的响应:
json_content = json.loads(requests.get(query).content)
他们在你链接的大摇大摆中有一个例子
开盒单个SKU
https://api.bestbuy.com/beta/products/8610161/openBox?apiKey=YourAPIKey
按 SKU 列表开箱
https://api.bestbuy.com/beta/products/openBox(sku%20in(5729048,7528703,4839357,8153056,8610161))?apiKey=YourAPIKey
所以你的网址可能应该是
https://api.bestbuy.com/v1/products/viewedUltimatelyBought(sku in(6559245, 6559246, 6559247))?apiKey=YourAPIKey
注意
beta
和v1
之间的路径差异,我不确定它在这里是否重要。