如何使用 GitHub GraphQL API 获取具有特定主题的所有存储库?

Posted

技术标签:

【中文标题】如何使用 GitHub GraphQL API 获取具有特定主题的所有存储库?【英文标题】:How to fetch all repositories with specific topic, using GitHub GraphQL API? 【发布时间】:2019-12-18 10:30:28 【问题描述】:

我正在尝试使用 Github GraphQL API 获取包含主题“投资组合”的所有存储库。

目前,我只找到了如何获取 github 上具有特定主题的所有 repos,如下所示:


  search(type: REPOSITORY, query: "topic: portfolio", last: 50) 
    repos: edges 
      repo: node 
        ... on Repository 
          url
        
      
    
  

而且我知道如何获取特定用户的所有存储库,如下所示:


  user(login: "VitFL") 
    repositories(last: 50) 
      repos: nodes 
        url
      
    
  


但我不知道如何组合这些查询,所以我可以收到针对特定用户的主题“投资组合”的所有回购

有谁知道如何实现这个结果?

【问题讨论】:

【参考方案1】:

使用search(),可以将user 参数添加到query 值。

此外,冒号后面的空格应该被删除,即topic: portfolio -> topic:portfolio。您会注意到此更改的更多结果。


  search(type: REPOSITORY, query: "user:VitFL topic:portfolio", last: 50) 
    repos: edges 
      repo: node 
        ... on Repository 
          url
        
      
    
  

【讨论】:

以上是关于如何使用 GitHub GraphQL API 获取具有特定主题的所有存储库?的主要内容,如果未能解决你的问题,请参考以下文章

GitHub API v4:如何使用分页进行遍历? (GraphQL)

如何使用 HttpUrlConnect 使用 java 查询 Github graphql API

如何使用 Github GraphQL Api 创建问题和标签?

php PHP - 如何使用Github GraphQL API获取Gists列表

如何使用 java 访问 github graphql API

如何使用 GraphQL API 搜索 GitHub Projects Beta