Python - 从API获取数据

标签 python api pagerduty

我有以下从 API 获取数据的代码。这工作正常,但我发现它只返回 25 行。我想看看如何从 API 调用中提取所有数据,而不是限制为 25

import requests
import pandas as pd


API_KEY = API_KEY



url = 'https://api.pagerduty.com/incidents/'
headers = {
    'Accept': 'application/vnd.pagerduty+json;version=2',
    'Authorization': 'Token token={token}'.format(token=API_KEY)}
r = requests.get(url, headers=headers)
data = r.content
data_dict = json.loads(data)
data_df = pd.DataFrame(data_dict['incidents'])

最佳答案

这是由于 API 响应中的分页造成的。该调用默认返回 25 个事件。如果您传递 limit 参数,您可以获得更多,但最多只能 100。如果您循环直到 more 为 false 并增加每次调用的偏移量,您可以获得所有事件。

参见此处API Reference for limit

关于Python - 从API获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60279960/

相关文章:

python - 如何为每一行创建带有 numpy random.choice 的二维数组?

python - 爬虫将数据更新到数组,在循环内yield

c# - 如何在 C# 中检查 github 版本?

php - Mantis Bug 跟踪器 API 集成?

php - Youtube API限制注释

Sensu:仅在出现 n 次后处理检查的最佳实践

python - 按顺序重新索引数据透视表索引?

python - 哇 six.with_metaclass() 有用吗?

splunk - 如何在 Splunk Cloud 中配置 PagerDuty 警报?