Après avoir référé ceci guide j'avais besoin d'accéder au github graphql
en utilisant curl
à des fins de test. J'ai essayé cette commande simple
curl -i -H "Authorization: bearer myGithubAccessToken" -X POST -d '{"query": "query {repository(owner: "wso2", name: "product-is") {description}}"}' https://api.github.com/graphql
mais ça me donne
problèmes d'analyse JSON
qu'est ce que je fais mal. J'ai passé près de 2 heures à essayer de comprendre et à essayer différents exemples, mais aucun d'entre eux n'a fonctionné. Pourriez-vous s'il vous plaît être assez aimable pour m'aider à résoudre ce problème
Vous avez juste besoin d'échapper aux guillemets doubles qui sont à l'intérieur du JSON comme requête
$ curl -i -H 'Content-Type: application/json' -H "Authorization: bearer myGithubAccessToken" -X POST -d '{"query": "query {repository(owner: \"wso2\", name: \"product-is\") {description}}"}' https://api.github.com/graphql
Si vous voulez que vos requêtes restent agréables et multilignes, vous pouvez faire comme ceci:
script='query {
repositoryOwner(login:\"danbst\") {
repositories(first: 100) {
edges {
node {
nameWithOwner
pullRequests(last: 100, states: OPEN) {
edges {
node {
title
url
author {
login
}
labels(first: 20) {
edges {
node {
name
}
}
}
}
}
}
}
}
}
}
}'
script="$(echo $script)" # the query should be onliner, without newlines
curl -i -H 'Content-Type: application/json' \
-H "Authorization: bearer ........." \
-X POST -d "{ \"query\": \"$script\"}" https://api.github.com/graphql