2017-06-14 3 views
0

Ich bin völlig neu in APIs und ich habe eine harte Zeit, Marvel API zu verbinden. Dokumentation sagt meine Verbindung Link in etwa so sein sollte:Verbinden mit API, 409 zurück

https://gateway.marvel.com:443/v1/public/characters?nameStartsWith=Spider&apikey=XXXXX&hash=XXXXXX

Hash ist eine md5-String aus Zeitstempel containg (oder eine andere Zeichenfolge, die jede Anfrage, privaten Schlüssel und einen öffentlichen Schlüssel würde sich ändern)

ich auf ihrer Website registriert, und ich habe meinen Schlüssel, das ist, wie ich einen Anruf zu machen versuchen Charakter zu finden, dessen Name beginnt mit „Spider“

jede Anfrage changi Erstellen ng string:

t ='{:%H:%M:%S}'.format(datetime.datetime.now()) t = t.replace(":", "")

Ausgabe: "213.944"

Hashing:

m = hashlib.md5(t+private+public).hexdigest()

Pack den ich versuche zu verwenden:

pack = 'https://gateway.marvel.com:443/v1/public/characters?nameStartsWith=Spider&apikey=<ACTUAL-API-KEY>&hash=' + m 

Druckantwort anfordern:

response = requests.get(pack) print(response)

Ich erhalte immer wieder Response[409] und nach API-Dokumentation bedeutet es, dass ich falsch Zeitstempel haben, öffentlichen oder privaten Schlüssel. Ich habe schon Stunden damit verbracht, herauszufinden, was falsch ist und ich brauche Hilfe.

This is a direct link to API documentation

Antwort

0

Gemäß der Dokumentation, sind Sie die ts Parameter. Fügen Sie Ihre t Variable als ts Parameter hinzu.

pack = 'https://gateway.marvel.com:443/v1/public/characters?nameStartsWith=Spider&apikey=<ACTUAL-API-KEY>&hash=' + m + '&ts=' +t

Auch heißt es in der Dokumentation, dass ts auf Anfrage-by-Anfrage und zu ändern. Verwenden Sie stattdessen t=str(int(time.time()*1000)).

+0

Vielen Dank, Antwort 200 erhalten! – Viktor