使用GitHub的API v3,easy可以检索包含所有公共可用存储库的列表。我正在寻找一种方法来使用API v4进行相同的操作。
基于API v4 reference,我想出了两次尝试:
使用存储库字段。但此字段需要owner
和name
个参数。
query {
repository(owner: "", name: "") {
name
}
}
搜索所有存储库。但search
字段需要query
参数。
query {
search(type: REPOSITORY, query: "") {
repositoryCount
}
}
这两个例子都需要额外的信息,这限制了结果,因此不适合我的目的。有没有办法获得API v4的所有公共存储库的(分页)列表?
答案 0 :(得分:4)
" API v4"你引用的不是GitHub,而是GraphQL。它不是下一个GitHub API版本",而是一种完全不同的查询方式。
请参阅" An Introduction to GraphQL via the GitHub API",它使用skevy/graphiql-app
,一个用TabheQL编辑和测试GraphQL查询/突变的选项卡界面。
This gist以及official documentation建议查询" repositories
"可以列出所有回购。默认情况下,它仅限于用户存储库。
一个可能的线索是in this example,用于搜索用户,然后为每个用户列出" repositories
"。
在developer.github.com/v4/explorer
中测试(用于" Building a Useful Query")