Skip to main content

使用 Explorer

GraphQL Explorer 是浏览器中的集成开发环境,包含文档、语法重点和验证错误,可用于查询实际的 GitHub 数据。

关于 GraphQL Explorer

GraphQL 浏览器GraphiQL 的一个实例,是“浏览器内的图形交互式 GraphQL IDE”。

使用 GraphiQL

若要使用 GraphiQL 应用,可从 https://github.com/skevy/graphiql-app 下载并安装。

配置 GraphiQL

  1. 获取 OAuth 标记
  2. 启动 GraphiQL。
  3. 在 GraphiQL 的右上角,单击“编辑 HTTP 标头”。
  4. 在“键”字段中,选择 。 在“值”字段中,输入 Bearer <token>,其中 <token> 是你生成的 OAuth 令牌。 graphiql 标头
  5. 单击该令牌右侧的复选标记进行保存。
  6. 要返回编辑器,请在“编辑 HTTP 标头”模式外部单击。
  7. 在“GraphQL 终结点”字段中,输入 https://api.github.com/graphql
  8. 在“方法”下拉菜单中选择“POST” 。

注意:有关为何选择 POST 作为方法的详细信息,请参阅“与 GraphQL 通信”。

您可以通过自我查询来测试您的访问:

query {
  viewer {
    login
  }
}

如果一切运行正常,将会显示您的登录信息。 您已设置完成,可以开始查询。

访问边栏文档

GraphQL 架构中的所有类型都包含一个编译到文档中的 description 字段。 该浏览器页面右侧可折叠的“文档”窗格可用于浏览有关类型系统的文档。 文档将自动更新,并删除已弃用的字段。

“文档”边栏包含的内容与引用下的架构自动生成的内容相同,但有些地方的格式不同。

使用变量窗格

一些示例调用包括如下编写的变量

query($number_of_repos:Int!){
  viewer {
    name
     repositories(last: $number_of_repos) {
       nodes {
         name
       }
     }
   }
}
variables {
   "number_of_repos": 3
}

这是通过 cURL POST 提交调用的正确格式(但要避免使用换行符)。

如果要在浏览器中运行调用,请在主窗格中输入 query 字段,并在其下方的“查询变量”窗格中输入变量。 在浏览器中省略 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 Enterprise Cloud staff
  • support requests involving sensitive data or private concerns
  • feature requests
  • feedback about GitHub Enterprise Cloud products

排查错误

由于 GraphQL 可以自省,因此浏览器支持:

  • 基于当前架构的智能输入提示
  • 键入时预提示验证错误

如果输入的查询格式不正确或未通过架构验证,则会弹出错误警示窗口。 如果您运行查询,错误将返回响应窗格中。

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 查询失败的同时,另一些查询可能成功。