Faire un appel d'API en Python, avec une API qui requiert un porteur du jeton
La recherche d'un peu d'aide avec l'intégration d'une API JSON appeler dans un programme en Python.
Je suis à la recherche pour intégrer l'API suivante en Python .py programme pour lui permettre d'être appelé et de la réponse à être imprimé.
L'API stipulent qu'un porteur de jeton doit être généré pour autoriser les appels à l'API, qui je l'ai fait avec succès. Cependant, je ne suis pas sûr de la syntaxe pour inclure ce jeton comme porteur du jeton d'authentification dans l'API Python demande.
Je peux compléter avec succès la requête ci-dessus à l'aide de cURL avec un jeton inclus. J'ai essayé "urllib" et "demandes" des routes, mais en vain.
API complète détails: IBM X-Force d'Échange de Documentation de l'API - Réputation de l'adresse IP
Vous devez vous connecter pour publier un commentaire.
Cela signifie simplement qu'il s'attend à ce que comme un élément clé dans votre en-tête de données
Traceback (most recent call last): File "bearerreturn.py", line 6, in <module> print requests.post(endpoint,data=data,headers=headers).json() TypeError: 'dict' object is not callable
Code ci-Dessous:import requests endpoint = "https://xforce-api.mybluemix.net:443/api/ip" data = {"ip":"1.1.2.3"} headers = {"Bearer token":"TOKEN WAS INSERTED HERE"} print requests.post(endpoint,data=data,headers=headers).json()
des Idées?json
est un dict dans votre version et non pas une fonctionrequests.post(...).json
... ne pas l'appeler{u'error': u'Not authorized. Access is only allowed via https://exchange.xforce.ibmcloud.com/#/'}
C'est la même que si je frappe directement l'URL dans un navigateur. Ai-je raté quelque chose avec un jeton ou la façon d'extrémité est configurée? Code:import requests endpoint = "https://xforce-api.mybluemix.net:443/ipr/" data = {"ip":"1.1.2.3"} headers = {"Bearer token":"TOKEN_HERE"} print requests.post(endpoint,data=data,headers=headers).json()
{u'error': u'Not found.'}
Code:import requests endpoint = "https://xforce-api.mybluemix.net:443/ipr/" data = {"ip":"8.8.8.8"} headers = {"Authorization":"Bearer REALLY_LONG_TOKEN_HERE"} print requests.post(endpoint,data=data,headers=headers).json()
Documentation de l'API Ici: xforce-api.mybluemix.net/doc/#!/Authentification/... Merci pour votre aide si loin! Il est vraiment beaucoup apprécié Joran.Le jeton doit être placé dans un en-tête d'Autorisation selon le format suivant:
Autorisation: Au Porteur [Token_Value]
Code ci-dessous: