it-swarm.com.de

Durchführen eines API-Aufrufs in Python mit einer API, für die ein Bearer-Token erforderlich ist

Suchen Sie Hilfe bei der Integration eines JSON-API-Aufrufs in ein Python Programm.

Ich möchte die folgende API in ein Python .py-Programm integrieren, damit es aufgerufen und die Antwort gedruckt werden kann.

Die API-Anleitung besagt, dass ein Bearer-Token generiert werden muss, um Aufrufe der API zuzulassen, was ich erfolgreich durchgeführt habe. Ich bin mir jedoch nicht sicher, ob die Syntax dieses Token als Bearer-Token-Authentifizierung in die Python API-Anforderung einbeziehen soll.

Ich kann die obige Anforderung mithilfe von cURL mit einem enthaltenen Token erfolgreich ausführen. Ich habe "urllib" - und "request" -Routen ausprobiert, aber ohne Erfolg.

Vollständige API-Details: IBM X-Force Exchange-API-Dokumentation - IP-Reputation

47
user4657

Dies bedeutet nur, dass dies als Schlüssel in Ihren Kopfdaten erwartet wird

import requests
endpoint = ".../api/ip"
data = {"ip": "1.1.2.3"}
headers = {"Authorization": "Bearer MYREALLYLONGTOKENIGOT"}

print(requests.post(endpoint, data=data, headers=headers).json())
76
Joran Beasley

Das Token muss in einem Autorisierungsheader in folgendem Format abgelegt werden:

Autorisierung: Inhaber [Token_Value]

Code unten:

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
15
DSG