为什么 Github API 搜索找不到所有的代码库?

3
2个回答

2
我认为API会将存档的仓库从结果中隐藏。+archived:true可以显示另外大约42个仓库。但这不能累加到296,所以我使用用户API (https://api.github.com/users/github/repos),它可以同时返回更多类型的仓库。
似乎在search API上有一些依赖会隐藏一些未记录的仓库。 https://api.github.com/users/github/repos?type=all&per_page=100 ==> 100 https://api.github.com/users/github/repos?type=all&per_page=100&page=2 ==> 100 https://api.github.com/users/github/repos?type=all&per_page=100&page=3 ==> 96
curl https://api.github.com/users/github/repos\?type\=all\&per_page\=100 | jq length
curl https://api.github.com/users/github/repos\?type\=all\&per_page\=100\&page\=2 | jq length
curl https://api.github.com/users/github/repos\?type\=all\&per_page\=100\&page\=3 | jq length

Sorted by updated

sds-users:() ➜  (11/04 19:18) /tmp curl "https://api.github.com/users/github/repos?type=all&per_page=10&sort=updated" | jq '.[].updated_at'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 54509  100 54509    0     0  76340      0 --:--:-- --:--:-- --:--:-- 76450
"2019-04-11T18:15:05Z"
"2019-04-11T18:05:00Z"
"2019-04-11T18:02:57Z"
"2019-04-11T17:41:47Z"
"2019-04-11T17:35:55Z"
"2019-04-11T16:46:28Z"
"2019-04-11T16:20:20Z"
"2019-04-11T16:17:09Z"
"2019-04-11T15:48:31Z"
"2019-04-11T15:27:31Z"
sds-users:() ➜  (11/04 19:18) /tmp

谢谢。我想按更新日期对这些存储库进行排序。是否可以将其排序并在第一页显示最新的,第三页显示最旧的?还是我必须在自己的程序中进行排序? - F4nug98
是的,您也可以使用排序和方向过滤器。https://developer.github.com/v3/repos/#list-user-repositories - Prav
它会正常工作吗?https://api.github.com/users/github/repos?type=all&per_page=100&sort=updated 编辑:如果我收到了所有类型的已排序存储库,则“它工作”是什么意思? - F4nug98
根据GitHub的说法应该是可以的,但我不敢打赌。让我进行独立验证。 - Prav
是的,我运行了10个样本仓库,看起来它可以正常工作。 - Prav

1

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