Sobre o explorador do GraphQL
O GraphiQL, também conhecido como GraphQL Explorer nesta documentação, é um "IDE gráfico interativo do GraphQL no navegador".
Usar GraphiQL
Para usar o aplicativo do GraphiQL, baixe-o e instale-o em https://github.com/skevy/graphiql-app.
Configurar GraphiQL
- Obtenha um token OAuth.
- Iniciar o GraphiQL.
- No canto superior direito do GraphiQL, clique em Editar Cabeçalhos HTTP.
- No campo Chave, insira
Authorization
. No campo Valor, insiraBearer <token>
, em que<token>
é o seu token OAuth gerado. - Clique na marca de seleção à direita do token para salvá-lo.
- Para voltar ao editor, clique fora da caixa de diálogo modal Editar Cabeçalhos HTTP.
- No campo Ponto de Extremidade do GraphQL, insira
https://<em>HOSTNAME</em>/api/graphql
. - No menu suspenso Método, selecione POST.
Observação: para obter mais informações sobre o motivo de o POST
ser o método, confira "Comunicação com o GraphQL".
Você pode testar seu acesso consultando você mesmo:
query {
viewer {
login
}
}
Se tudo funcionou corretamente, isto irá mostrar seu login. Você está pronto para começar a fazer consultas.
Acessar a documentação da barra lateral
Todos os tipos em um esquema do GraphQL incluem um campo description
compilado na documentação. O painel recolhível Documentação no lado direito da página do Explorer permite que você navegue pela documentação sobre o sistema de tipos. A documentação é atualizada automaticamente e eliminará os campos obsoletos.
A barra lateral da Documentação contém o mesmo conteúdo gerado automaticamente com base no esquema em "Referência", embora seja formatado de maneira diferente nos lugares.
Usar o painel de variáveis
Alguns exemplos de chamadas incluem variáveis escritas assim:
query($number_of_repos:Int!){
viewer {
name
repositories(last: $number_of_repos) {
nodes {
name
}
}
}
}
variables {
"number_of_repos": 3
}
Este é o formato correto para enviar a chamada usando uma solicitação POST
em um comando curl
(desde que você faça o escape das novas linhas).
Caso deseje executar a chamada no Explorer, insira o segmento query
no painel principal e as variáveis no painel Variáveis de Consulta abaixo dela. Omita a palavra variables
do Explorer:
{
"number_of_repos": 3
}
Solicitar suporte
Em caso de dúvidas, relatórios de bug e discussões sobre o GitHub Apps, o OAuth Apps e o desenvolvimento de API, explore o Discussões sobre APIs e integrações na Comunidade do GitHub. As discussões são moderadas e mantidas pela equipe do GitHub, mas não é garantido que as perguntas publicadas no fórum recebam uma resposta da equipe do GitHub.
Considere a possibilidade de entrar em contato diretamente com o Suporte do GitHub usando o formulário de contato para:
- resposta garantida dos funcionários de GitHub AE
- solicitações de suporte que envolvem dados confidenciais ou questões privadas
- solicitações de recursos
- feedback sobre produtos de GitHub AE
Solucionando erros
Como o GraphQL é introspectivo, o Explorer dá suporte a:
- Preenchimento automático inteligente do esquema atual
- Pré-visualizações de erros durante a digitação
Se você inserir uma consulta que não esteja bem formada ou não seja aprovada na validação de esquema, um pop-up avisará sobre um erro. Se você executar a consulta, o erro será retornado no painel de resposta.
Uma resposta do GraphQL contém várias chaves: um hash data
e uma matriz errors
.
{
"data": null,
"errors": [
{
"message": "Objects must have selections (field 'nodes' returns Repository but has no selections)",
"locations": [
{
"line": 5,
"column": 8
}
]
}
]
}
É possível que você possa encontrar um erro inesperado que não esteja relacionado com o esquema. Se isso acontecer, a mensagem incluirá um código de referência que você poderá usar ao relatar o problema:
{
"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."
}
]
}
Observação: o GitHub recomenda verificar se há erros antes de usar dados em um ambiente de produção. No GraphQL, a falha não é total: algumas partes de consultas do GraphQL podem ser bem-sucedidas enquanto outras falham.