Skip to main content

Explorerの利用

ブラウザ内で動作する統合開発環境であるGraphQL Explorerを使って、本物のGitHubのデータに対してクエリを実行できます。GraphQL Explorerには、ドキュメント、シンタックスハイライト、検証エラーが含まれています。

GraphQL Explorerについて

GraphiQL は、このドキュメント内では GraphQL Explorer とも呼ばれており、これは "グラフィカル インタラクティブ ブラウザー内 GraphQL IDE" です。

GraphiQLの利用

GraphiQL アプリを使うには、 https://github.com/skevy/graphiql-app からダウンロードしてインストールします。

GraphiQLの設定

  1. OAuth トークンを取得します。
  2. GraphiQL を起動します。
  3. GraphiQL の右上隅にある [Edit HTTP Headers](HTTP ヘッダーの編集) をクリックします。
  4. [キー] フィールドに「Authorization」と入力します。 [Value] (値) フィールドに「Bearer <token>」と入力します。ここで、<token> は生成した OAuth トークンです。 graphiql ヘッダー
  5. トークンの右側にあるチェックマークをクリックして保存します。
  6. エディターに戻るには、 [HTTP ヘッダーの編集] モーダルの外部をクリックします。
  7. [GraphQL Endpoint](GraphQL エンドポイント) フィールドに、「http(s)://<em>[hostname]</em>/api/graphql」と入力します。
  8. [メソッド] ドロップダウン メニューで、 [POST] を選びます。

: メソッドが POST である理由について詳しくは、「GraphQL との通信」をご覧ください。

自分自身についてのクエリを実行することで、アクセスのテストができます。

query {
  viewer {
    login
  }
}

すべてが正しく動作していれば、これでログイン情報が表示されます。 これでクエリを発行する準備ができました。

サイドバードキュメントへのアクセス

GraphQL スキーマ内のすべての型には、ドキュメントにコンパイルされる description フィールドが含まれています。 Explorer ページの右側にある折りたたみ可能な [Docs] ペインからは、型システムに関するドキュメントを参照できます。 このドキュメントは自動的に更新され、非推奨のフィールドは削除されます。

[Docs] サイドバーには、[リファレンス] の下にあるスキーマから自動的に生成されるものと同じ内容が含まれていますが、所々形式が異なっています。

変数ペインの利用

呼び出しの例には、次のように記述された変数が含まれます。

query($number_of_repos:Int!){
  viewer {
    name
     repositories(last: $number_of_repos) {
       nodes {
         name
       }
     }
   }
}
variables {
   "number_of_repos": 3
}

これは、(改行をエスケープする限り) cURL POST を介して呼び出しを送信する正しい形式です。

この呼び出しを Explorer で実行したい場合は、メイン ペインに query セグメントを、その下の [クエリ変数] ペインに変数を入力してください。 Explorer から単語 variables を省略します。

{
   "number_of_repos": 3
}

サポートのリクエスト

GitHub Apps、OAuth Apps、および API 開発に関する疑問、バグ レポート、議論については、APIs and Integrations discussions on GitHub Community を調べてください。 このディスカッションは GitHub のスタッフによって進行および管理されていますが、フォーラムに投稿された質問に GitHub のスタッフが必ずしも返答するとは限りません。

次の場合は、お問い合わせフォームを使用して GitHub サポートに直接連絡することを検討してください。

  • GitHub Enterprise Serverのスタッフからの反応を確実に得たい場合
  • センシティブなデータやプライベートな懸念事項に関わるサポートリクエスト
  • 機能リクエスト
  • GitHub Enterprise Serverの製品に関するフィードバック

エラーのトラブルシューティング

GraphQL は内省的であるため、Explorer では次のことがサポートされています。

  • インテリジェントに現在のスキーマを先行して認識
  • 入力中の検証エラープレビュー

整形式ではない、またはスキーマ検証に合格しないクエリを入力すると、エラーの警告がポップアップで表示されます。 そのクエリを実行すると、レスポンスペインにエラーが返されます。

GraphQL 応答には、data ハッシュと errors 配列といういくつかのキーが含まれています。

{
  "data": null,
  "errors": [
    {
      "message": "Objects must have selections (field 'nodes' returns Repository but has no selections)",
      "locations": [
        {
          "line": 5,
          "column": 8
        }
      ]
    }
  ]
}

スキーマに関係ない、予想外のエラーに行き当たることもあります。 そうなった場合には、メッセージには問題を報告する際に利用できる参照コードが含まれます。

{
  "data": null,
  "errors": [
    {
      "message": "Something went wrong while executing your query. This is most likely a GitHub bug. Please include \"7571:3FF6:552G94B:69F45B7:5913BBEQ\" when reporting this issue."
    }
  ]
}

注: GitHub は、データを実働環境で使う前にエラーをチェックしておくことをお勧めします。 GraphQLでは、失敗は全体的なものではありません。GraphQLクエリの一部が成功し、その他の部分が失敗しているということもあります。