Buscando ayuda con la integración de una llamada JSON API en un progtwig Python.
Estoy buscando integrar la siguiente API en un progtwig .py de Python para permitir que se llame y se imprima la respuesta.
La guía de API establece que se debe generar un token de portador para permitir las llamadas a la API, lo que he hecho con éxito. Sin embargo, no estoy seguro de la syntax para incluir este token como autenticación de token de portador en la solicitud de API de Python.
Puedo completar con éxito la solicitud anterior usando cURL con un token incluido. He intentado “urllib” y “solicitudes” rutas pero en vano.
Detalles completos de la API: Documentación de la API de IBM X-Force Exchange – Reputación de IP
Solo significa que espera que como clave en sus datos de encabezado
import requests endpoint = ".../api/ip" data = {"ip": "1.1.2.3"} headers = {"Authorization": "Bearer MYREALLYLONGTOKENIGOT"} print(requests.post(endpoint, data=data, headers=headers).json())
El token se debe colocar en un encabezado de autorización de acuerdo con el siguiente formato:
Autorización: Portador [Token_Value]
import urllib2 import json def get_auth_token() ''' get an auth token ''' req=urllib2.Request("https://xforce-api.mybluemix.net/auth/anonymousToken") response=urllib2.urlopen(req) html=response.read() json_obj=json.loads(html) token_string=json_obj["token"].encode("ascii","ignore") return token_string def get_response_json_object(url, auth_token) ''' returns json object with info ''' auth_token=get_auth_token() req=urllib2.Request(url, None, {"Authorization": "Bearer %s" %auth_token}) response=urllib2.urlopen(req) html=response.read() json_obj=json.loads(html) return json_obj