2015-12-21 52 views
2

我试图创建一个显示用户的存储库信息和提交数量(限于最近30天)的WordPress小部件。我很容易获得存储库信息,但我正在努力与第二部分。在这种情况下,我使用PHP,并在WordPress小部件中显示信息。API调用获取作者数量GitHub API

基本上我需要API来返回用户在所有(公共)存储库中给定月份中提交的提交数。有没有简单的端点可以访问它,或者我将不得不循环访问上个月活动的每个用户存储库,并从那里提取提交数量?

回答

1

另一种方法是list events for a given user

GET /users/:username/events 

例子:https://api.github.com/users/VonC/events

{ 
    "id": "3406063602", 
    "type": "PushEvent", 
    "actor": { 
     "id": 79478, 
     "login": "VonC", 
     "gravatar_id": "", 
     "url": "https://api.github.com/users/VonC", 
     "avatar_url": "https://avatars.githubusercontent.com/u/79478?" 
    }, 
    "repo": { 
     "id": 47265668, 
     "name": "VonC/hello-world-go", 
     "url": "https://api.github.com/repos/VonC/hello-world-go" 
    }, 
    "payload": { 
     "push_id": 889397803, 
     "size": 2, 
     "distinct_size": 2, 
     "ref": "refs/heads/master", 
     "head": "54dd9bd15fea2476bd76c7bf88bcec370d9dfc61", 
     "before": "64d3b59911fef0b0c2423c105c38aabf99332e28", 
     "commits": [ 
     { 
      "sha": "ee856fa87073cf92e11baa4d36f61394de937085", 
      ... 

你将不得不筛选PushEvent,并iterate over the pages of events直到得到一个事件比一个月前更旧。

+0

我喜欢你的想法@vonC!这可能需要比我这样做的API请求数量更少。在这种情况下,我需要担心分页吗? –

+0

@ZachRussell活动的限制为每页30个......这可能不足以在过去几个月中获得所有活动。在这种情况下,您将不得不迭代获取更多页面。 – VonC