通过APIv4获取GitHub上的公共存储库列表

时间:2017-09-17 19:11:38

标签: github-api

使用GitHub的API v3,easy可以检索包含所有公共可用存储库的列表。我正在寻找一种方法来使用API​​ v4进行相同的操作。

基于API v4 reference,我想出了两次尝试:

  1. 使用存储库字段。但此字段需要ownername个参数。

    query {
      repository(owner: "", name: "") {
        name
      }
    }
    
  2. 搜索所有存储库。search字段需要query参数。

    query {
      search(type: REPOSITORY, query: "") {
        repositoryCount
      }
    }
    
  3. 这两个例子都需要额外的信息,这限制了结果,因此不适合我的目的。有没有办法获得API v4的所有公共存储库的(分页)列表?

1 个答案:

答案 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")