Clockify API 以获取用户的条目总数?

Clockify API to get total number of entries for a user?

作为实验,我使用 Clockify 在过去 3 个月中大致跟踪我一天中的每一分钟。我正在从 API 中提取我所有的时间条目数据,以便我可以对其进行分析并进行可视化。

我想避免一次获取所有时间条目,所以我正在编写我的代码以使其遵循默认的条目数,然后尝试对其进行分页。我通过计算我在 Clockify UI 中看到的条目数并将其除以每页的默认条目数来计算总页数。

这部分的 Python 代码如下所示:

num_pages = HARDCODED_VALUE
for pagenum in range(1, num_pages + 1):
    newurl = url + '?page={}'.format(pagenum)
    r = requests.get(newurl, headers=x_api_header)
    // do stuff (save to file, r.json(), etc.)

虽然我的用例非常具体,并且执行此操作的个人似乎会遵循类似的过程,但我想知道是否有更编程的方式来计算特定用户在特定情况下的条目总数工作区?我在 Clockify API.

的响应中找不到这样的功能或类似于分页指示器的功能

这有点晚了,但要获取用户的记录数,您可以使用 Summary report endpoint,因为它包含一个 entriesCount 字段,该字段对您的查询的所有记录求和,而不管页面限制。您可以将 startRangeStart 参数设置为您开始创建帐户的日期,将 dateRangeEnd 参数设置为当天。最后,您可以过滤特定的用户 ID。

查询:https://reports.api.clockify.me/v1/workspaces/xxxxxxx/reports/summary

POST正文:

{
  "dateRangeStart": "2010-01-01T00:00:00.000Z",
  "dateRangeEnd": "2020-12-17T23:59:59.000Z",
  "summaryFilter": {"groups": ["USER","TIMEENTRY"]},
  "exportType": "JSON",
  "users": {
    "ids": ["xxxxxxxxxx"],
     "contains": "CONTAINS",
    "status": "ALL"
  }
}

“TIMEENTRY”的 summaryFilter 中的分组将 return 每个单独的时间条目,但如果您只是将 entriesCount 字段用于分页目的,那应该无关紧要结合您的原始查询。