【发布时间】:2020-03-02 09:15:39
【问题描述】:
根据Imgur Docs,“GET Account Favorites”API 调用采用可选参数进行分页,这意味着所有对象都没有它返回。
但是,当我使用以下代码 sn-p(应用程序已注册并且已针对我的帐户执行 OAuth 以进行测试)时,我仅获得前 30 个 JSON 对象。在下面的 sn-p 中,我已经有一个授权用户的 access_token 并且可以检索该用户名的数据。但返回列表的长度始终是前 30 项。
username = token['username']
bearer_headers = {
'Authorization': 'Bearer ' + token['access_token']
}
fav_url = 'https://api.imgur.com/3/account/' + username + '/' + 'favorites'
r = requests.get(fav_url, headers=bearer_headers)
r_json = r.json()
favorites=r_json['data']
len(favorites)
print(favorites)
请求响应返回一个包含三个键的字典:状态(HTTP 状态代码)、成功(真或假)和数据,其中的值是一个字典列表(每个收藏项一个)。
我正在尝试检索此 分页,以便我可以将特定元数据值提取到 Pandas 数据框(id、发布日期等)中。
我最初认为这是 Jupyter 笔记本中的 Pandas 显示问题,但追踪到 API 仅返回最新的 30 个列表项,尽管文档另有说明。如果我在末尾放置一个任意页码(例如,“/favorites/1”),它会返回适合该页面的 30 个项目,但似乎没有获取所有项目或检索计数的选项提前的总项目或页数。
我错过了什么?
后记:似乎没有分页,所有 URI 都无法工作,例如,获取帐户图像,获取画廊提交等。任何有可选“/{{page}}”参数的地方,都会默认为第一页如果没有指定。所以我想更大的问题是,“Imgur API 是否支持非分页数据,如何访问?”。
【问题讨论】:
-
在文档中,有一个
page参数,也许你应该尝试一下。