gpt4 book ai didi

github - 使用 GraphQL (v4 API) 在 GitHub 中搜索代码

转载 作者:行者123 更新时间:2023-12-01 17:32:29 25 4
gpt4 key购买 nike

我正在使用 GitHub 的 GraphQL API 来搜索包含特定单词的文件/代码。一个简单(人为的)搜索示例,在本例中是在位于“recipes”(存储库)的文件中为“someuser”(存储库的所有者)查找术语“beef”,如下所示:

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

我在 GitHub 的 GraphQL Explorer ( https://developer.github.com/v4/explorer/ ) 中尝试了此操作,并从搜索中收到零结果,这是不正确的,因为我可以确认单词(上例中的“beef”)位于存储库的文件中:

{
"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

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

我的问题是:

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

最佳答案

尚不支持

类型:CODE。目前无法使用 graphql 搜索代码。

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

搜索(查询:“牛肉”,类型:REPOSITORY,第一个:10){

您将获得所有名称中包含牛肉的存储库。

关于github - 使用 GraphQL (v4 API) 在 GitHub 中搜索代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45382069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com