{"meta":{"title":"GraphQL APIについて","intro":"GitHubのGraphQL APIは、柔軟性と、フェッチしたいデータを正確に定義できる機能を提供します。","product":"GraphQL API","breadcrumbs":[{"href":"/ja/graphql","title":"GraphQL API"},{"href":"/ja/graphql/overview","title":"概要"},{"href":"/ja/graphql/overview/about-the-graphql-api","title":"GraphQL APIについて"}],"documentType":"article"},"body":"# GraphQL APIについて\n\nGitHubのGraphQL APIは、柔軟性と、フェッチしたいデータを正確に定義できる機能を提供します。\n\n## 概要\n\n以下は、GraphQL APIを使い始めるためのクイックリンクです。\n\n* [Authentication](/ja/graphql/guides/forming-calls-with-graphql#authenticating-with-graphql)\n* [Root エンドポイント](/ja/graphql/guides/forming-calls-with-graphql#the-graphql-endpoint)\n* [スキーマイントロスペクション](/ja/graphql/guides/introduction-to-graphql#discovering-the-graphql-api)\n* [転送率の制限](/ja/graphql/overview/resource-limitations)\n* [REST からの移行](/ja/graphql/guides/migrating-from-rest-to-graphql)\n\nGitHub の API について詳しくは、「[GitHubの REST API と GraphQL API の比較](/ja/rest/overview/about-githubs-apis)」を参照してください。\n\n## GraphQLについて\n\n```\n          [GraphQL](https://graphql.org/) データ クエリ言語は次のとおりです。\n```\n\n***\n\n```\n          [仕様](https://spec.graphql.org/June2018/)。** 仕様は、API サーバー上の [schema](/graphql/guides/introduction-to-graphql#schema) の有効性を決定します。 スキーマは、クライアントの呼び出しの正当性を決定します。\n```\n\n***\n\n```\n          [厳密に型指定されます](#about-the-graphql-schema-reference)。** スキーマによって、API の型システムとすべてのオブジェクト リレーションシップが定義されます。\n```\n\n***\n\n```\n          [Introspective](/graphql/guides/introduction-to-graphql#discovering-the-graphql-api).** クライアントはスキーマに対してクエリを実行して、スキーマの詳細を確認できます。\n```\n\n***\n\n```\n          [Hierarchical](/graphql/guides/forming-calls-with-graphql).** GraphQL 呼び出しの構造は、返される JSON データの構造を反映しています。 \n          [Nested フィールド](/graphql/guides/migrating-from-rest-to-graphql#example-nesting)では、1 回のラウンド トリップで指定したデータのみを照会して受信できます。\n```\n\n* **アプリケーション レイヤーです。** GraphQL は、storage モデルまたはデータベース クエリ言語ではありません。\n  *graph* は、スキーマで定義されたグラフ構造を参照します。ここで、[nodes](/ja/graphql/guides/introduction-to-graphql#node) はオブジェクトを定義し、[edges](/ja/graphql/guides/introduction-to-graphql#edge) はオブジェクト間のリレーションシップを定義します。 APIは、データがどのように保存されているかに関係なく、スキーマ定義に従ってアプリケーションデータをトラバースして返します。\n\n## GitHubが GraphQL を使用している理由\n\nGitHubは、インテグレーターの柔軟性が大幅に向上するため、GraphQL を選択しました。 必要—なデータを正確に定義する機能と、必要\\_なデータ\\_のみを—定義できることは、従来の REST API エンドポイントよりも強力な利点です。 GraphQL を使用すると、複数の REST 要求を *1 回の呼び出しに* 置き換えて、指定したデータをフェッチできます。\n\nGitHubがGraphQLに投資した理由についての詳細は、元の[発表ブログ投稿](https://github.blog/2016-09-14-the-github-graphql-api/)を参照してください。\n\n## GraphQLのスキーマ参照について\n\nサイドバーにあるドキュメントは、GitHub GraphQL [スキーマ](/ja/graphql/guides/introduction-to-graphql#discovering-the-graphql-api)から生成されます。 すべての呼び出しは、このスキーマに対して検証され、実行されます。 以下のドキュメントを使って、呼び出せるデータを見つけてください。\n\n* 許可される操作: [クエリ](/ja/graphql/reference/queries)と[ミューテーション](/ja/graphql/reference/mutations)。\n\n* スキーマ定義型: [スカラー](/ja/graphql/reference/scalars)、[オブジェクト](/ja/graphql/reference/objects)、[列挙型](/ja/graphql/reference/enums)、[インターフェイス](/ja/graphql/reference/interfaces)、[和集合](/ja/graphql/reference/unions)、[および入力オブジェクト](/ja/graphql/reference/input-objects)。\n\n認証やレート制限の詳細など、その他の情報については、[guides](/ja/graphql/guides)を参照してください。\n\n## サポートのリクエスト\n\nGitHub Apps、OAuth apps、API 開発に関する疑問、バグ レポート、ディスカッションについては、[GitHub のコミュニティ ディスカッションの API と Webhook カテゴリ](https://github.com/orgs/community/discussions/categories/api-and-webhooks) を調べてください。 ディスカッションは、GitHub スタッフによって管理および維持され、GitHub コミュニティによって回答されます。\n\n次の場合は、お問い合わせフォームを使用して [GitHub サポート](https://support.github.com/)に直接連絡することを検討してください。\n\n* GitHub のスタッフからの確実なレスポンス\n* 機密データや個人的な心配に関連するサポート リクエスト\n* 機能に関する要求\n* GitHub の製品に関するフィードバック\n\n予期しないエラーが発生した場合は、[githubstatus.com](https://www.githubstatus.com/) または [GitHub 状態 API](https://www.githubstatus.com/api) を使用して、API に影響するインシデントをチェックできます。"}