Je suis nouveau dans la programmation et on m'a demandé de reprendre un projet où je dois changer le code Python actuel que nous utilisons pour se connecter à une API RESTful Ver 1. La société est passée à leur Ver 2 de l'API et nécessitent désormais des ID et des clés pour l'authentification au lieu du nom d'utilisateur et du mot de passe de base. L'ancien code qui fonctionnait pour l'API Ver 1 ressemble à ceci:
import requests
import simplejson as json
import pprintpp as pprint
#API_Ver1 Auth
USER = 'username'
PASS = 'password'
url = 'https://somecompany.com/api/v1/groups'
s = requests.Session()
s.auth = (USER, PASS)
r = json.loads(s.get(url).text)
groups = r["data"]
Je peux me connecter à l'API Ver 2 via un terminal en utilisant une chaîne cURL comme celle-ci:
curl -v -X GET -H "X-ABC-ID-API: xxxxx" -H "X-ABC-API-KEY: nnnnnnnnnnnnnnnnnnnnnnnn" -H "X-DE-API-ID: x" -H "X- DE-API-KEY: nnnnnnnnnnnnnnnnnnnnnnnn "" https://www.somecompany.com/api/v2/groups/ "
J'ai cherché, mais je n'ai pas réussi à trouver un moyen d'obtenir les ID et les clés de la chaîne cURL pour permettre l'accès à l'API Ver 2 à l'aide de Python. Merci de votre considération pour aider un noob à traverser ce changement de code!
vous pouvez ajouter des en-têtes HTTP à une demande
headers = {
'X-ABC-API-ID': 'x-x-x-x-x',
'X-ABC-API-KEY': 'nnnnnnnnnnnnnnnnnnnnnnn',
'X-DE-API-ID': 'x',
'X-DE-API-KEY': 'nnnnnnnnnnnnnnnnnnnnnnnn'
}
r = requests.get('https://www.somecompany.com/api/v2/groups/', headers=headers)