代码之家  ›  专栏  ›  技术社区  ›  xpt

如何进行Github GraphQL代码搜索?[复制]

  •  1
  • xpt  · 技术社区  · 7 年前

    我使用GitHub的graphqlapi来搜索包含特定单词的文件/代码。下面是一个简单(人为的)搜索示例,在本例中,在“配方”(回购)中为“someuser”(回购的所有者)找到“beef”一词:

    {
      search(query: "beef repo:someuser/recipes", type: REPOSITORY, first: 10) {
        repositoryCount
        edges {
          node {
            ... on Repository {
              name
            }
          }
        }
      }
    }
    

    我在GitHub的GraphQL浏览器中尝试过这个( https://developer.github.com/v4/explorer/ )搜索结果为零,这是不正确的,因为我可以确认回购文件中有单词(上例中的“牛肉”):

    {
      "data": {
        "search": {
          "repositoryCount": 0,
          "edges": []
        }
      }
    }
    

    curl --header 'Accept: application/vnd.github.v3.raw' https://api.github.com/search/code?q=beef+repo:someuser/recipes
    

    ... 所以我知道查询(restv3api)是有效的,并且我的理解是GraphQL(v4)API中的查询字符串与REST(v3)API中的查询字符串相同。

    我的问题是:

    1. 我是不是错误地使用了GitHub GraphQL(v4)API,或者我没有正确地指定查询字符串,或者我试图使用尚不受支持的功能?
    2. 有没有一个例子可以说明如何在代码中搜索特定的单词?
    0 回复  |  直到 8 年前
        1
  •  20
  •   sreenivas    8 年前

    Type: CODE 尚不支持。现在不可能使用graphql搜索代码。

    你的理解是对的。只是你少了一块。 type: REPOSITORY

    search(query: "beef", type: REPOSITORY, first: 10) {

    你会得到所有以他们的名义有牛肉的回购。

    推荐文章