借助GitHub的API v3,可以轻松检索包含所有公共可用存储库的列表。我正在寻找一种使用API v4进行相同操作的方法。
根据API v4参考,我进行了两次尝试:
使用存储库字段。但是此字段需要ownerand name参数。
query {
repository(owner: "", name: "") {
name
}
}
Run Code Online (Sandbox Code Playgroud)搜索所有存储库。但是这个search领域需要query争论。
query {
search(type: REPOSITORY, query: "") {
repositoryCount
}
}
Run Code Online (Sandbox Code Playgroud)这两个示例都需要其他信息,这限制了结果,因此不适合我的目的。有没有一种方法可以使用API v4获取所有公共存储库的(分页)列表?
您引用的“ API v4”不是GitHub,而是GraphQL。它不是“下一个GitHub API版本”,而是一种完全不同的查询方式。
请参阅“ 通过GitHub API编写的GraphQL简介 ”,其中使用skevy/graphiql-app了一个选项卡式界面,用于通过GraphiQL编辑和测试GraphQL查询/变异。
该要点以及官方文档建议使用查询“ repositories”列出所有存储库。默认情况下,它仅限于用户存储库。
如本例所示,一种可能的线索是搜索用户,然后为每个用户列出“ repositories”。
在中进行测试developer.github.com/v4/explorer(用于“ 构建有用的查询 ”)