2017-07-28 22 views
7

GitHubのGraphQL APIを使用して、特定の単語を含むファイル/コードを検索しています。このケースでは、「someuser」(レポの所有者)の「レシピ」(レポ)にあるファイルの中の「ビーフ」という用語を検索する単純な(考案された)検索の例を以下に示します。Graphit(v4 API)を使用してGitHubでコードを検索する

{ 
    search(query: "beef repo:someuser/recipes", type: REPOSITORY, first: 10) { 
    repositoryCount 
    edges { 
     node { 
     ... on Repository { 
      name 
     } 
     } 
    } 
    } 
} 

私は(https://developer.github.com/v4/explorer/)GitHubののGraphQLエクスプローラでこれを試してみましたが、私は言葉(上記の例では「牛肉」)がレポ内のファイルであることを確認することができるよう間違っている検索からゼロ結果を受け取る:

{ 
    "data": { 
    "search": { 
     "repositoryCount": 0, 
     "edges": [] 
    } 
    } 
} 

私は、これはカール経由の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を使用したり、私が不適切なクエリ文字列を指定しています

  1. アム、または私はまだサポートされていない機能を使用しようとしています:

    私の質問がありますか?

  2. 特定の単語のコードを検索する方法を示す方法を示す例がありますか?

答えて

4

Type: CODEはまだサポートされていません。今すぐgraphqlを使用してコードを検索する方法はありません。

あなたの理解は正しいです。ちょうどあなたは1枚が欠けています。 あなたが行っている検索はtype: REPOSITORYに対して起こっています。 あなたが

search(query: "beef", type: REPOSITORY, first: 10) {

て検索してください交換する場合は、自分の名前で牛肉を持つすべてのリポジトリを取得します。

関連する問題