关于 GraphQL Explorer
GraphQL Explorer 是 GraphiQL 的一个实例,后者是一个“图形交互式浏览器内 GraphQL IDE”。
查询自动完成
你可以使用查询自动完成来帮助你构建查询。在主窗格中,在查询的花括号内,使用 control+space 或 shift+space 来显示自动完成菜单。
访问侧边栏文档
GraphQL 模式中的所有类型都包含一个编译成文档的 description
字段。Explorer 页面右侧的可折叠 文档窗格允许你浏览有关类型系统的文档。文档会自动更新,并会删除已弃用的字段。
文档侧边栏包含与根据模式在“GitHub GraphQL API 文档”下自动生成的内容相同的内容,尽管在某些地方格式不同。
使用变量窗格
一些示例调用包括以如下方式编写的变量
query($number_of_repos:Int!){
viewer {
name
repositories(last: $number_of_repos) {
nodes {
name
}
}
}
}
variables {
"number_of_repos": 3
}
这是使用 POST
请求在 curl
命令中提交调用的正确格式(只要你转义换行符)。
如果您想在 Explorer 中运行调用,请在主窗格中输入 query
段,并在其下方的 查询变量 窗格中输入变量。从 Explorer 中省略单词 variables
{
"number_of_repos": 3
}
使用 Altair GraphQL 客户端 IDE
有很多开源 GraphQL 客户端 IDE。例如,您可以使用 Altair 访问 GitHub 的 GraphQL API。要使用 Altair 访问 GraphQL API,请从 altair-graphql/altair 下载并安装它。然后,按照以下配置步骤操作。
配置 Altair
- 获取 访问令牌。
- 启动 Altair。
- 在左侧边栏中,Altair 徽标下方,单击 设置标头。将打开一个新窗口。
- 在“标头键”字段中,输入
Authorization
。 - 在“标头值”字段中,输入
Bearer TOKEN
,用您在第一步中获取的令牌替换TOKEN
。 - 单击窗口右下角的 保存 以保存您的授权标头。
- 在“GraphQL 端点”字段中,输入
https://api.github.com/graphql
。 - 要加载 GitHub GraphQL 架构,请下载 公共架构。
- 在 Altair 中,单击右上角的 文档,然后单击三个点和 加载架构...
- 选择您在较早步骤中下载的公共架构文件。
注意:有关 POST
为何是方法的更多信息,请参阅“使用 GraphQL 形成调用”。
您可以通过查询自己来测试您的访问权限
query {
viewer {
login
}
}
如果一切正常,这将显示您的登录名。您已准备好开始进行查询。
请求支持
对于有关 GitHub 应用、OAuth 应用和 API 开发的问题、错误报告和讨论,请浏览 GitHub 社区讨论中的 API 和 Webhook 类别。讨论由 GitHub 员工主持和维护,并由 GitHub 社区回答。
考虑直接使用联系表格联系 GitHub 支持,以获得
- GitHub 员工的保证答复
- 涉及敏感数据或私人问题的支持请求
- 功能请求
- 关于 GitHub 产品的反馈
故障排除错误
由于 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 查询的部分内容可能会成功,而其他部分可能会失败。