Eri*_*oda 17 github github-api graphql
我正在使用GitHub的GraphQL API来搜索包含特定单词的文件/代码.一个简单的(人为的)搜索示例,在这种情况下,在"食谱"(回购)中为"someuser"(回购的所有者)找到文件中的"牛肉"一词如下所示:
{
search(query: "beef repo:someuser/recipes", type: REPOSITORY, first: 10) {
repositoryCount
edges {
node {
... on Repository {
name
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在GitHub的GraphQL Explorer(https://developer.github.com/v4/explorer/)中尝试了这个并且从搜索中得到零结果是不正确的,因为我可以确认这个词(上例中的"牛肉")是在repo中的文件中:
{
"data": {
"search": {
"repositoryCount": 0,
"edges": []
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我通过curl使用GitHub的REST API(v3)尝试这个时,我肯定会得到结果:
curl --header 'Accept: application/vnd.github.v3.raw' https://api.github.com/search/code?q=beef+repo:someuser/recipes
Run Code Online (Sandbox Code Playgroud)
...所以我知道查询(REST v3 API)是有效的,我的理解是GraphQL(v4)API中的查询字符串与REST(v3)API的查询字符串相同.
我的问题是:
sre*_*vas 12
Type: CODE尚不支持.你现在无法使用graphql搜索代码.
你的理解是正确的.只是你错过了一件.您正在进行的搜索正在发生type: REPOSITORY.如果你用你的搜索替换
search(query: "beef", type: REPOSITORY, first: 10) {
你会得到所有名字中都有牛肉的回购品.
| 归档时间: |
|
| 查看次数: |
1516 次 |
| 最近记录: |