使用GraphQL(V4API)在GitHub中搜索代码

使用GraphQL(V4API)在GitHub中搜索代码,github,graphql,github-api,Github,Graphql,Github Api,我正在使用GitHub的GraphQLAPI搜索包含特定单词的文件/代码。下面是一个简单的(人为的)搜索示例,在本例中,该示例是在“配方”(回购协议)中的“someuser”(回购协议的所有者)文件中查找术语“牛肉”: { search(query: "beef repo:someuser/recipes", type: REPOSITORY, first: 10) { repositoryCount edges { node { ... on R

我正在使用GitHub的GraphQLAPI搜索包含特定单词的文件/代码。下面是一个简单的(人为的)搜索示例,在本例中,该示例是在“配方”(回购协议)中的“someuser”(回购协议的所有者)文件中查找术语“牛肉”:

{
  search(query: "beef repo:someuser/recipes", type: REPOSITORY, first: 10) {
    repositoryCount
    edges {
      node {
        ... on Repository {
          name
        }
      }
    }
  }
}
我在GitHub的GraphQL Explorer()中尝试了这一点,但从搜索中收到的结果为零,这是不正确的,因为我可以确认repo中的文件中有单词(“牛肉”):

{
  "data": {
    "search": {
      "repositoryCount": 0,
      "edges": []
    }
  }
}
当我通过curl使用GitHub的REST API(v3)进行尝试时,我肯定会得到以下结果:

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中的查询字符串相同

我的问题是:

  • 我是否错误地使用了GitHub GraphQL(v4)API,或者我是否错误地指定了查询字符串,或者我是否试图使用尚未支持的功能
  • 是否有一个示例说明了如何在代码中搜索特定的单词,有人可以提供(或链接到)如何执行此操作

  • Type:code
    尚不受支持。现在无法使用graphql搜索代码

    你的理解是对的。只是你少了一块。 您正在对
    类型:REPOSITORY
    进行搜索。 如果将搜索替换为

    search(查询:“牛肉”,类型:REPOSITORY,first:10){


    您将获得所有名称中包含beef的回购协议。

    如果您只想在名称中搜索“beef”,而不是更改查询,则可以添加限定符,如

    搜索(查询:“输入:名称”,类型:存储库,第一个:10){


    有关更多详细信息,您可以在两年后查看,
    type:code
    仍然不受支持,我们仍然需要为此使用v3API。请在三年后使用