Je souhaite accéder aux détails de Github à l'aide de l'API Github GraphQl v4. J'ai trouvé Graphene bibliothèque, mais je ne sais pas comment m'authentifier avec un jeton d'accès personnel en Python.
J'ai essayé de rechercher sur Google, mais je n'ai trouvé aucun exemple. C'est une bibliothèque Python qui peut créer des schémas graphiques et ne doit pas les consommer, j'ai essayé avec des `demandes 'mais j'ai échoué. Comment puis-je m'authentifier et trouver la liste des référentiels?
J'ai utilisé Github GraphQl Explorer pour trouver la liste des référentiels via ce code:
viewer {
repositories(first: 30) {
totalCount
pageInfo {
hasNextPage
endCursor
}
edges {
node {
name
}
}
}
Contrairement au reste, graphql n'a qu'un seul point final. Il vous suffit de faire un POST
avec votre requête en tant qu'objet json. Vous devez fournir votre api_token
vous obtenez de github dans le cadre des en-têtes.
import requests
url = 'https://api.github.com/graphql'
json = { 'query' : '{ viewer { repositories(first: 30) { totalCount pageInfo { hasNextPage endCursor } edges { node { name } } } } }' }
api_token = "your api token here..."
headers = {'Authorization': 'token %s' % api_token}
r = requests.post(url=url, json=json, headers=headers)
print (r.text)
Le graphène sert à construire des API GraphQL et non à les consommer.
Avez-vous vu cela: https://github.com/graphql-python/gql ?
C'est un client GraphQL pour Python.
J'espère que cela vous sera utile.
Comme mentionné dans les réponses précédentes, appeler GraphQL est aussi simple que de faire une requête POST avec la chaîne de requête. Cependant, si vous êtes sur Python3, vous voulez quelque chose de plus avancé qui vérifiera également vos requêtes lors de la construction. et générez des classes de réponse de classe de données typées pour que vous consultiez la nouvelle bibliothèque GQL: https://github.com/ekampf/gql