Skip to main content

Explorerの利用

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

GraphQL Explorerについて

GraphQL Explorer は、GraphiQL のインスタンスです。これは "グラフィカル インタラクティブ ブラウザー内 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 エンドポイント) フィールドに、「https://api.github.com/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
}

サポートのリクエスト

For questions, bug reports, and discussions about GitHub Apps, OAuth Apps, and API development, explore the GitHub コミュニティでの API と統合に関するディスカッション. The discussions are moderated and maintained by GitHub staff, but questions posted to the forum are not guaranteed to receive a reply from GitHub staff.

Consider reaching out to GitHub Support directly using the contact form for:

  • guaranteed response from GitHub staff
  • support requests involving sensitive data or private concerns
  • feature requests
  • feedback about GitHub products

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

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クエリの一部が成功し、その他の部分が失敗しているということもあります。