首页 > 解决方案 > Python requests.get 没有获取数据

问题描述

在 python 中使用 Shopping API [GetCategoryInfo][1] 调用时遇到一些困难

api_key "my_actual_id"
cat_id = -1
app = f"appid={api_key}&"
call_values = "callname=GetCategoryInfo&"
more_values = "version=967&siteid=0&"
category = f"CategoryID={cat_id}&"
base_url = "https://open.api.ebay.com/Shopping?"

r = requests.get(f"{base_url}{call_values}{app}{more_values}{category}IncludeSelector=ShippingCosts")

这给了我一个输出

[ ]

我尝试将完整的 Api url 放入我的浏览器,它返回了整个 xml 响应

 <GetCategoryInfoResponse xmlns="urn:ebay:apis:eBLBaseComponents">
    <Timestamp>2021-05-14T12:31:57.916Z</Timestamp>
    <Ack>Success</Ack>....

为了进一步测试,我对有效的 GetSingleItem Shopping api 调用做了同样的事情,它还在 pycharm 打印 r.content 中返回了完整的 xml 响应,因为 GetSingle Item 调用返回了 b'' 在 GetCategoryInfo 中做同样的事情返回了 b''

所以 api url 正在工作,但由于某种原因 request.get 似乎没有通过这个特定的调用得到任何东西。

标签: pythonapi

解决方案


推荐阅读