À propos de GraphQL Explorer
GraphQL Explorer est une instance de GraphiQL, qui est un « IDE GraphQL interactif graphique dans le navigateur ».
Utilisation de GraphiQL
Pour utiliser l’application GraphiQL, téléchargez et installez-la à partir de https://github.com/skevy/graphiql-app.
Configuration de GraphiQL
- Obtenez un jeton OAuth.
- Lancez GraphiQL.
- Dans le coin supérieur droit de GraphiQL, cliquez sur Edit HTTP Headers.
- Dans le champ Key, entrez
Authorization
. - Dans le champ Valeur, entrez
Bearer TOKEN
, en remplaçantTOKEN
par votre jeton OAuth à partir de la première étape. - Cliquez sur la coche à droite du jeton pour l’enregistrer.
- Pour revenir à l’éditeur, cliquez en dehors de la fenêtre modale Modifier des en-têtes HTTP.
- Dans le champ GraphQL Endpoint, entrez
https://api.github.com/graphql
. - Dans la liste déroulante Méthode, sélectionnez POST.
Remarque : pour plus d’informations sur la raison pour laquelle POST
est la méthode, consultez « Formation d’appels avec GraphQL ».
Vous pouvez tester votre accès en vous interrogeant vous-même :
query {
viewer {
login
}
}
Si tout a fonctionné correctement, votre connexion s’affiche. Vous êtes tous prêts à commencer à effectuer des requêtes.
Accès aux documents de la barre latérale
Tous les types d’un schéma GraphQL incluent un champ description
compilé dans la documentation. Le volet réductible Docs sur le côté droit de la page Explorer vous permet de parcourir la documentation sur le système type. Les documents sont automatiquement mis à jour et suppriment les champs déconseillés.
La barre latérale Docs contient le même contenu que celui généré automatiquement à partir du schéma sous « Documentation sur l’API GraphQL GitHub », bien qu’il soit mis en forme différemment sur place.
Utilisation du volet Variable
Voici quelques exemples d’appels qui incluent des variables écrites comme suit :
query($number_of_repos:Int!){
viewer {
name
repositories(last: $number_of_repos) {
nodes {
name
}
}
}
}
variables {
"number_of_repos": 3
}
Il s’agit du format approprié pour envoyer l’appel à l’aide d’une requête POST
dans une commande curl
(tant que vous échappez des lignes).
Si vous souhaitez exécuter l’appel dans Explorer, entrez le segment query
dans le volet principal et les variables dans le volet Variables de requête en dessous. Omettez le mot variables
d’Explorer :
{
"number_of_repos": 3
}
Demande de support
Pour consulter les questions, les rapports de bogues et les discussions concernant GitHub Apps, OAuth Apps et le développement d’API, explorez les Discussions sur les API et les intégrations dans la communauté GitHub. Les discussions sont modérées et gérées par le personnel GitHub. Toutefois, il n’est pas garanti que les questions publiées sur le forum reçoivent une réponse du personnel GitHub.
Envisagez de contacter le Support GitHub directement à l’aide du formulaire de contact pour :
- réponse garantie du personnel de GitHub
- les demandes de soutien impliquant des données sensibles ou des préoccupations d’ordre privé
- demandes de fonctionnalités
- commentaires sur les produits GitHub
Dépannage des erreurs
Étant donné que GraphQL est introspectif, Explorer prend en charge :
- les typesaheads intelligents prenant en compte le schéma actuel
- les aperçus des erreurs de validation lors de la saisie
Si vous entrez une requête qui n’est pas correctement formée ou ne passe pas la validation de schéma, une fenêtre contextuelle vous avertit d’une erreur. Si vous exécutez la requête, l’erreur est retournée dans le volet réponse.
Une réponse GraphQL contient plusieurs clés : une synthèse data
et un tableau errors
.
{
"data": null,
"errors": [
{
"message": "Objects must have selections (field 'nodes' returns Repository but has no selections)",
"locations": [
{
"line": 5,
"column": 8
}
]
}
]
}
Il est possible de rencontrer une erreur inattendue qui n’est pas liée au schéma. Dans ce cas, le message inclut un code de référence que vous pouvez utiliser lors de la création de rapports sur le problème :
{
"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."
}
]
}
Remarque : GitHub recommande de vérifier les erreurs avant d’utiliser des données dans un environnement de production. Dans GraphQL, la défaillance n’est pas totale : des parties des requêtes GraphQL peuvent réussir alors que d’autres échouent.