我正在使用GitHub的GraphQL API搜索包含特定单词的文件/代码。下面显示了一个简单的(人为)搜索示例,在这种情况下,该示例是在“某用户”(存储库的所有者)的“配方”(存储库)中的文件中找到“牛肉”一词:
{
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/)中尝试了此操作,并从搜索中收到零个结果,这是不正确的,因为我可以确认单词(上面示例中的“牛肉”)是在仓库中的文件中:
{
"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相同。
我的问题是:
Type: CODE
目前尚不支持。您目前无法使用graphql搜索代码。
您的理解是正确的。只是您缺少一件。您正在执行的搜索是针对的type: REPOSITORY
。如果您将搜索替换为
search(query: "beef", type: REPOSITORY, first: 10) {
您将获得所有以牛肉为名的回购协议。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句