Skip to main content

GraphQL APIについて

GitHubのGraphQL APIは、柔軟性と、フェッチしたいデータを正確に定義できる機能を提供します。

概要

以下は、GraphQL APIを使い始めるためのクイックリンクです。

GitHub の API の詳細については、「GitHub の REST API と GraphQL API の比較」を参照してください。

GraphQLについて

GraphQL データ クエリ言語は次のとおりです。

  • 仕様です。 仕様によって、API サーバー上の スキーマ の有効性が決まります。 スキーマは、クライアントの呼び出しの正当性を決定します。

  • 厳密に型指定されます。 スキーマによって、API の型システムとすべてのオブジェクト リレーションシップが定義されます。

  • 内省的です。 クライアントはスキーマに対してクエリを実行して、スキーマの詳細を確認できます。

  • 階層構造です。 GraphQL 呼び出しの構造は、返される JSON データの構造を反映しています。 入れ子になったフィールドを使用すると、1 回のラウンド トリップで指定したデータのみをクエリおよび受信できます。

  • アプリケーション レイヤーです。 GraphQL は、ストレージ モデルまたはデータベース クエリ言語ではありません。 graph は、スキーマで定義されたグラフ構造を指します。ノードでオブジェクトが定義され、エッジでオブジェクト間のリレーションシップが定義されます。 APIは、データがどのように保存されているかに関係なく、スキーマ定義に従ってアプリケーションデータをトラバースして返します。

GitHubがGraphQLを使う理由

GitHubは、インテグレーターにとって大きな柔軟性を提供してくれることから、GraphQLを選択しました。 必要—なデータを正確に定義する機能と、必要_なデータ_のみを—定義できることは、従来の REST API エンドポイントよりも強力な利点です。 GraphQL を使用すると、複数の REST 要求を 1 回の呼び出しに 置き換えて、指定したデータをフェッチできます。

GitHub が GraphQL に投資した理由の詳細については、元のお知らせブログ記事をご覧ください。

GraphQLのスキーマ参照について

サイドバーのドキュメントは、GitHub GraphQL スキーマから生成されます。 すべての呼び出しは、このスキーマに対して検証され、実行されます。 以下のドキュメントを使って、呼び出せるデータを見つけてください。

この同じコンテンツには、Explorer のドキュメントのサイドバーからアクセスできます。 GraphQL APIの呼び出しをうまく行うためには、ドキュメントとスキーマ検証の両方に依存しなければならないことがあります。

認証やレート制限の詳細など、その他の情報については「ガイド」を参照してください。

サポートのリクエスト

GitHub Apps、OAuth apps、API 開発に関する疑問、バグ レポート、ディスカッションについては、GitHub のコミュニティ ディスカッションの API と Webhook カテゴリ を調べてください。 ディスカッションは、GitHub スタッフによって管理および維持され、GitHub コミュニティによって回答されます。

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

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

予期しないエラーが発生した場合は、githubstatus.com[ または GitHub 状態 API を使用して、API](https://www.githubstatus.com/api) に影響するインシデントをチェックできます。