如何使用图形 API 获取具有特定 github 主题的所有存储库

Posted

技术标签:

【中文标题】如何使用图形 API 获取具有特定 github 主题的所有存储库【英文标题】:How to fetch all my repos with specific github topic using graph API 【发布时间】:2021-10-11 11:51:13 【问题描述】:

我想获取所有回购,我是特定主题的所有者/贡献者。

我尝试了这个请求。这返回了我所有主题的所有者/贡献者的所有回购。


  viewer 
    repositories(first: 100) 
      pageInfo 
        hasPreviousPage
        hasNextPage
        startCursor
        endCursor
      
      nodes 
        name
        repositoryTopics(first: 10) 
          nodes 
            topic 
              name
            
          
          totalCount
        
      
    
  


我也尝试了以下请求。但它返回了我的组织(不仅是我的)中包含该特定主题的所有存储库。


  search(first: 100, type: REPOSITORY, query: "topic:mytopic org:myorg") 
    pageInfo 
      hasNextPage
      endCursor
      
    repos: edges 
      repo: node 
        ... on Repository 
          name
          url
          id
        
      
    
  

我只需要我是该特定主题的所有者/贡献者的回购

【问题讨论】:

【参考方案1】:

在您的第一个查询中,您似乎已经获取了前 100 个主题,而与它们的实际主题无关。为了根据主题进行选择,您必须使用变量。此后,使用 useQuery 挂钩并传递您的变量。(您可以创建一个输入字段并将其值与您过滤的变量相关联)。在阿波罗文档中查看更多信息:https://www.apollographql.com/docs/react/data/queries/#caching-query-results

【讨论】:

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

如何在 mailchimp API v3.0 上获取具有特定标签的成员总数?

使用图形 API 获取特定类型的 Facebook 事件

如何使用 GraphQL API 搜索 GitHub Projects Beta

Github GraphQL API:如何收集特定用户的存储库?

GitHub 的 GraphQL API:如何获取我对特定公共存储库所做的所有提交?

如何使用 Facebook Graph Api 获取所有位置 ID 与特定给定位置 ID 相同的 Facebook 公共事件?