Я использую API GitHub GraphQL для поиска файлов/кода, содержащих определенное слово. Простой (надуманный) пример поиска, который в этом случае должен найти термин "говядина" в файлах, расположенных в "рецептах" (репо) для "someuser" (владелец для репо), показан ниже:
{
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": []
}
}
}
Когда я пытаюсь это использовать с помощью GitHub REST API (v3) через curl, я определенно получаю результаты:
curl --header 'Accept: application/vnd.github.v3.raw' https://api.github.com/search/code?q=beef+repo:someuser/recipes
... Поэтому я знаю, что запрос (REST v3 API) действителен, и я понимаю, что строка запроса в API GraphQL (v4) идентична строке для API REST (v3).
Мои вопросы:
- Я неправильно использую API GitHub GraphQL (v4) или неправильно задаю строку запроса, или я пытаюсь использовать функциональные возможности, которые еще не поддерживаются?
- Есть ли пример того, как это сделать, чтобы кто-то мог предоставить (или ссылку), который иллюстрирует поиск кода для определенных слов?