【发布时间】:2018-01-05 00:42:40
【问题描述】:
我正在使用 GitHub 的 GraphQL API 来搜索包含特定单词的文件/代码。一个简单的(人为的)搜索示例,在这种情况下是在位于“recipes”(repo)中的“someuser”(repo 的所有者)的文件中查找术语“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/) 中尝试了这个,并且从搜索中收到零个结果,这是不正确的,因为我可以确认这个词(上例中的“牛肉”)在 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
...所以我知道查询(REST v3 API)是有效的,我的理解是GraphQL(v4)API中的查询字符串与REST(v3)API的相同。
我的问题是:
- 是我错误地使用了 GitHub GraphQL (v4) API,还是我错误地指定了查询字符串,还是我尝试使用尚不支持的功能?
- 是否有人可以提供(或链接到)如何执行此操作的示例,说明如何在代码中搜索特定单词?
【问题讨论】:
标签: github graphql github-api