如何利用GitHub API获取更长周期(如30天)的组织活动事件?
获取GitHub组织更长周期活动事件的方法
GitHub的「列出已认证用户的组织事件」API默认仅返回短周期(约1天)的事件,没有直接参数可指定时间范围,但可以通过以下方式尝试获取更长周期的事件:
- 分页遍历历史事件:该API支持分页机制,通过
page和per_page参数逐步翻页,尽可能拉取更早的事件。需要注意的是,GitHub对事件的存储有时间限制(通常最多保留90天左右的事件),翻页到一定程度后会无更多数据返回。
带分页参数的curl请求示例:curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://api.github.com/users/USERNAME/events/orgs/ORG?page=2&per_page=100 - 遍历组织仓库事件汇总:若需要精准筛选时间范围,可先获取组织下的所有仓库列表,再调用仓库级事件API(
/repos/{owner}/{repo}/events)拉取每个仓库的事件,最后自行筛选符合时间范围的内容。这种方式复杂度较高,但能覆盖更多事件来源。 - 使用GitHub企业版审计日志:如果你的组织使用GitHub Enterprise,审计日志可保留长达90天的详细活动记录,支持按时间范围筛选,但需要企业版权限及对应的审计日志API访问权限。
需要注意:无论采用哪种方式,GitHub都不会保留超过90天的公开事件数据,因此无法获取超出该时长的历史事件。
内容的提问来源于stack exchange,提问作者ebaotech
相关产品推荐
相关产品推荐

