【问题标题】:How can I list all Github users with V3 APIs?如何列出所有使用 V3 API 的 Github 用户?
【发布时间】:2013-03-20 16:53:48
【问题描述】:

我只能获得前 100 个用户:

lsoave@ubuntu:~$ curl -i https://api.github.com/users|grep -c login
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  104k  100  104k    0     0  92808      0  0:00:01  0:00:01 --:--:--  100k
100
lsoave@ubuntu:~$ 

但我需要完整列表和 /users?page= (其中 n 从 0 到 )获得相同的 100 个用户列表:

lsoave@ubuntu:~$ curl -i https://api.github.com/users?page=0 | grep login | tail -10
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  104k  100  104k    0     0  90797      0  0:00:01  0:00:01 --:--:--  101k
    "login": "danielharan",
    "login": "kvnsmth",
    "login": "collectiveidea",
    "login": "canadaduane",
    "login": "nate",
    "login": "dstrelau",
    "login": "sunny",
    "login": "dkubb",
    "login": "jnicklas",
    "login": "richcollins",

lsoave@ubuntu:~$ curl -i https://api.github.com/users?page=1 | grep login | tail -10
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  104k  100  104k    0     0    99k      0  0:00:01  0:00:01 --:--:--  110k
    "login": "danielharan",
    "login": "kvnsmth",
    "login": "collectiveidea",
    "login": "canadaduane",
    "login": "nate",
    "login": "dstrelau",
    "login": "sunny",
    "login": "dkubb",
    "login": "jnicklas",
    "login": "richcollins",

lsoave@ubuntu:~$ curl -i https://api.github.com/users?page=2 | grep login | tail -10
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  104k  100  104k    0     0  95960      0  0:00:01  0:00:01 --:--:--  104k
    "login": "danielharan",
    "login": "kvnsmth",
    "login": "collectiveidea",
    "login": "canadaduane",
    "login": "nate",
    "login": "dstrelau",
    "login": "sunny",
    "login": "dkubb",
    "login": "jnicklas",
    "login": "richcollins",

lsoave@ubuntu:~$ curl -i https://api.github.com/users?page=3 | grep login | tail -10
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  104k  100  104k    0     0    99k      0  0:00:01  0:00:01 --:--:--  110k
    "login": "danielharan",
    "login": "kvnsmth",
    "login": "collectiveidea",
    "login": "canadaduane",
    "login": "nate",
    "login": "dstrelau",
    "login": "sunny",
    "login": "dkubb",
    "login": "jnicklas",
    "login": "richcollins",

【问题讨论】:

    标签: ruby api curl github github-api


    【解决方案1】:

    你需要使用since参数而不是页面

    理想情况下,您会获得列表中最后一个用户的id(在本例中为 135),然后使用该 ID 进行下一次调用,新响应将包含超过那个用户名

    https://api.github.com/users?since=135
    

    【讨论】:

    • 哇,太好了,我在 V3 API 文档中找不到,请问您在哪里找到的? ...效果很好!
    • 它实际上是用户方法文档的最底部 :)
    猜你喜欢
    • 2015-07-17
    • 1970-01-01
    • 2015-02-04
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    相关资源
    最近更新 更多