我想通过API检索特定日期发生的所有PagerDuty事件。我正在使用以下GET请求:
curl -i -H "Content-type: application/json" \
-H "Authorization: Token token=wouldntyouliketoknow" \
-X GET \
--data-urlencode "since=2016-05-03T00:00Z" \
--data-urlencode "until=2016-05-03T23:59Z" \
--data-urlencode "offset=100" \
"https://my.pagerduty.com/api/v1/incidents"
返回的数据只有一个问题。返回事件的时间戳表明事件是针对不同的日期,而不是我在since
和until
参数中指定的日期。我通过UI检查了指定日期有超过100个事件。
如何修改查询以返回指定日期的所有事件?
答案 0 :(得分:2)
您指定的时间是UTC。我的猜测是你在另一个时区,这使得结果看起来不正确。
日期以ISO 8601格式指定(根据PagerDuty's Developer documentation),因此您可以指定带时区的日期和时间(假设为UTC-7),如下所示:
2016-05-03T23:59-07
如果你在,比如UTC + 3,你可以使用:
2016-05-03T23:59+03
PagerDuty的API returns at most 100 records, but varies per endpoint,因此您需要增加offset参数并在每页上进行API调用。
前100名:
curl -i -H "Content-type: application/json" \
-H "Authorization: Token token=wouldntyouliketoknow" \
-X GET \
--data-urlencode "since=2016-05-03T00:00Z" \
--data-urlencode "until=2016-05-03T23:59Z" \
--data-urlencode "limit=100" \
"https://my.pagerduty.com/api/v1/incidents"
第二个100:
curl -i -H "Content-type: application/json" \
-H "Authorization: Token token=wouldntyouliketoknow" \
-X GET \
--data-urlencode "since=2016-05-03T00:00Z" \
--data-urlencode "until=2016-05-03T23:59Z" \
--data-urlencode "limit=100" \
--data-urlencode "offset=100" \
"https://my.pagerduty.com/api/v1/incidents"
干杯!