ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

GraphQL APIについて

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

ここには以下の内容があります:

概要

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

GraphQLについて

GraphQLデータクエリ言語は、

  • 仕様です。この仕様は、APIサーバー上のスキーマの正当性を決定します。 スキーマは、クライアントの呼び出しの正当性を決定します。

  • 強く型付けされています。スキーマは、APIの型システムとすべてのオブジェクトの関係を定義します。

  • イントロスペクティブです。クライアントは、スキーマに関する詳細を求めるためにスキーマに対してクエリを行えます。

  • 階層型です。GraphQLの呼び出しの形は、返されるJSONデータの型を反映します。 入れ子になったフィールドによって、1回のラウンドトリップで指定したデータだけをクエリで返してもらうことができます。

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

GitHubがGraphQLを使う理由

GitHubは、インテグレーターにとって大きな柔軟性を提供してくれることから、API v4にGraphQLを選択しました。 ほしいデータだけを正確に定義できるのは、REST API v3エンドポイントよりも強力な利点です。 GraphQLを使えば、指定したデータをフェッチするための複数のRESTのリクエストを単一の呼び出しで置き換えられます。

GitHubがGraphQLに移行した理由の詳細については、オリジナルのアナウンスのblogポストを参照してください。

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

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

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

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

サポートのリクエスト

GitHub App、OAuth App、API開発に関する疑問、バグレポート、議論については、GitHub API Development and Support Forumを調べてみてください。 このフォーラムはGitHubのスタッフによって進行及び管理されていますが、フォーラムにポストされた疑問に対してGitHubのスタッフからの返答があることは保証されていません。

以下の場合は、連絡フォームを使ってGitHub Supportに直接連絡することを検討してください。

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

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

OR, learn how to contribute.