GitHub API:用户关注者 - 分页?

8

我正在使用Javascript和Github API进行开发,遇到了一个问题。

每次尝试获取任何有关注者的用户的关注者时,服务器返回的回调仅显示30个用户。例如:

https://api.github.com/users/vojtajina/followers - 30个关注者

而原始网站上的用户关注者数量为:

https://github.com/vojtajina/followers - 1,039个关注者

我的问题是 - 发生了什么?从服务器返回的回调中没有“下一页”。如何在回调中获取所有的关注者?

1个回答

10

每页最多显示100个项目,因此使用per_page=100查询字符串参数将使结果每页具有100个用户:

https://api.github.com/users/vojtajina/followers?per_page=100

通过使用 page 查询字符串参数,可以控制分页。例如,要获取第二页,应添加page=2

https://api.github.com/users/vojtajina/followers?per_page=100&page=2
如果您想获取所有关注者,您需要迭代页面,直到您收到一个空数组。
如果您想将此用于Node.js / JavaScript(客户端),您可以使用我开发的库gh.js来处理此问题。
var GitHub = require("gh.js");

var gh = new GitHub({
    token: "an optional token"
});

gh.get("users/vojtajina/followers", { all: true } function (err, followers) {
    console.log(err || followers); // do something with the followers
});

太好了!感谢您的建议。实际上我是在询问这个库。我能用这个库进行身份验证,以便我的限制高于60吗? - uksz
@uksz 当然,它支持令牌:https://github.com/settings/tokens/new 如果您有任何问题/想法/功能请求,请随时提出问题。 :) - Ionică Bizău
你很棒。谢谢你,祝你周日愉快! - uksz
抱歉在这里问你问题而不是在问题区(也许更快?)。令牌似乎不起作用-当我检查还剩多少请求时,它似乎只有60个,而不是5000个。这是我要采取的唯一步骤吗,还是除了var gh = new GitHub({token:"an optional token"})之外还有其他步骤? - uksz
@uksz 嗯,它应该可以工作。用您的令牌替换令牌值(一个可选令牌)。然后您应该获得更多的请求小时速率限制。再次提醒,对于这类问题,请打开问题。我会尽力回复每个人。 :) - Ionică Bizău

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接