我使用GitHub的graphqlapi来搜索包含特定单词的文件/代码。下面是一个简单(人为的)搜索示例,在本例中,在“配方”(回购)中为“someuser”(回购的所有者)找到“beef”一词:
{
search(query: "beef repo:someuser/recipes", type: REPOSITORY, first: 10) {
repositoryCount
edges {
node {
... on Repository {
name
}
}
}
}
}
我在GitHub的GraphQL浏览器中尝试过这个(
https://developer.github.com/v4/explorer/
)搜索结果为零,这是不正确的,因为我可以确认回购文件中有单词(上例中的“牛肉”):
{
"data": {
"search": {
"repositoryCount": 0,
"edges": []
}
}
}
curl --header 'Accept: application/vnd.github.v3.raw' https://api.github.com/search/code?q=beef+repo:someuser/recipes
... 所以我知道查询(restv3api)是有效的,并且我的理解是GraphQL(v4)API中的查询字符串与REST(v3)API中的查询字符串相同。
我的问题是:
-
我是不是错误地使用了GitHub GraphQL(v4)API,或者我没有正确地指定查询字符串,或者我试图使用尚不受支持的功能?
-
有没有一个例子可以说明如何在代码中搜索特定的单词?