GraphQL Explorerについて
GraphiQL は、このドキュメント内では GraphQL Explorer とも呼ばれており、これは "グラフィカル インタラクティブ ブラウザー内 GraphQL IDE" です。
GraphiQLの利用
GraphiQL アプリを使うには、 https://github.com/skevy/graphiql-app からダウンロードしてインストールします。
GraphiQLの設定
- OAuth トークンを取得します。
- GraphiQL を起動します。
- GraphiQL の右上隅にある [Edit HTTP Headers](HTTP ヘッダーの編集) をクリックします。
- [キー] フィールドに「
Authorization
」と入力します。 [Value]� (値) フィールドに「Bearer <token>
」と入力します。ここで、<token>
は生成した OAuth トークンです。 - トークンの右側にあるチェックマークをクリックして保存します。
- エディターに戻るには、 [HTTP ヘッダーの編集] モーダルの外部をクリックします。
- [GraphQL Endpoint](GraphQL エンドポイント) フィールドに、「
http(s)://<em>HOSTNAME</em>/api/graphql
」と入力します。 - [メソッド] ドロップダウン メニューで、 [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 開発に関する疑問、バグ レポート、議論については、 を調べてく� さい。 このディスカッションは 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クエリの一部が成功し、その他の部分が失敗しているということもあります。