Github API v3 不显示所有用户存储库

问题描述 投票:0回答:1

如果我输入此命令:

$ curl https://api.github.com/users/KiCad/repos | grep full_name

我希望它会返回所有 KiCad 存储库,但它返回:

"full_name": "KiCad/Air_Coils_SML_NEOSID.pretty",
"full_name": "KiCad/Buzzers_Beepers.pretty",
"full_name": "KiCad/Capacitors_Elko_ThroughHole.pretty",
"full_name": "KiCad/Capacitors_SMD.pretty",
"full_name": "KiCad/Capacitors_Tantalum_SMD.pretty",
"full_name": "KiCad/Capacitors_ThroughHole.pretty",
"full_name": "KiCad/Choke_Axial_ThroughHole.pretty",
"full_name": "KiCad/Choke_Common-Mode_Wurth.pretty",
"full_name": "KiCad/Choke_Radial_ThroughHole.pretty",
"full_name": "KiCad/Choke_SMD.pretty",
"full_name": "KiCad/Choke_Toroid_ThroughHole.pretty",
"full_name": "KiCad/Connect.pretty",
"full_name": "KiCad/Connectors_Molex.pretty",
"full_name": "KiCad/Converters_DCDC_ACDC.pretty",
"full_name": "KiCad/Crystals.pretty",
"full_name": "KiCad/Crystals_Oscillators_SMD.pretty",
"full_name": "KiCad/Diodes_SMD.pretty",
"full_name": "KiCad/Diodes_ThroughHole.pretty",
"full_name": "KiCad/Discret.pretty",
"full_name": "KiCad/Display.pretty",
"full_name": "KiCad/Displays_7-Segment.pretty",
"full_name": "KiCad/Divers.pretty",
"full_name": "KiCad/EuroBoard_Outline.pretty",
"full_name": "KiCad/Fiducials.pretty",
"full_name": "KiCad/Filters_HF_Coils_NEOSID.pretty",
"full_name": "KiCad/Fuse_Holders_and_Fuses.pretty",
"full_name": "KiCad/Hall-Effect_Transducers_LEM.pretty",
"full_name": "KiCad/Heatsinks.pretty",
"full_name": "KiCad/Housings_DFN_QFN.pretty",
"full_name": "KiCad/Housings_QFP.pretty",

如果您查看https://github.com/KiCad,您会发现有更多存储库。

有人遇到过这个问题吗?怎么解决呢?

curl github-api
1个回答
39
投票

GitHub API 使用分页,默认每页 30 个项目。你必须使用

curl -i https://api.github.com/users/KiCad/repos?per_page=100

100 是您在单个页面上可以获得的最多项目数。指定

-i
后,您将看到打印出的标题,并且您要查找的标题是
Links
标题。其中包含可帮助您浏览页面的链接。其中一个链接应该看起来像

https://api.github.com/users/KiCad/repos?per_page=100&page=2

所以如果你这样做

curl -i https://api.github.com/users/KiCad/repos?per_page=100&page=2

您将获得回购 101-200。您可以继续此操作,直到

next
标题中不再有
Links
链接,或者直到您意识到收到的结果少于 100 个。

© www.soinside.com 2019 - 2024. All rights reserved.