我正在使用GitHub的GraphQL API来搜索包含特定单词的文件/代码。 这是一个简单的(假设的)搜索示例,此时要在“someuser”(存储库所有者)为“recipes”(存储库)中的文件中查找术语“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相同。
我的问题是:
- 我是否错误地使用了GitHub GraphQL(v4)API,或者我未正确指定查询字符串,或者我正在尝试使用尚未支持的功能?
- 是否有人能提供示例(或链接)来说明如何搜索特定单词的代码?