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

sau*_*ger 2 github-api

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

根据API v4参考,我进行了两次尝试:

  1. 使用存储库字段。但是此字段需要ownerand name参数。

    query {
      repository(owner: "", name: "") {
        name
      }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 搜索所有存储库。但是这个search领域需要query争论。

    query {
      search(type: REPOSITORY, query: "") {
        repositoryCount
      }
    }
    
    Run Code Online (Sandbox Code Playgroud)

这两个示例都需要其他信息,这限制了结果,因此不适合我的目的。有没有一种方法可以使用API​​ v4获取所有公共存储库的(分页)列表?

Von*_*onC 5

您引用的“ API v4”不是GitHub,而是GraphQL。它不是“下一个GitHub API版本”,而是一种完全不同的查询方式。

请参阅“ 通过GitHub API编写的GraphQL简介 ”,其中使用skevy/graphiql-app了一个选项卡式界面,用于通过GraphiQL编辑和测试GraphQL查询/变异。

该要点以及官方文档建议使用查询“ repositories”列出所有存储库。默认情况下,它仅限于用户存储库。

本例所示,一种可能的线索是搜索用户,然后为每个用户列出“ repositories”。

在中进行测试developer.github.com/v4/explorer(用于“ 构建有用的查询 ”)