Ich versuche, eine grundlegende Implementierung der Synchroteam API mit Python-Anforderungen zu arbeiten. Ich war in der Lage, eine Verbindung mit cURL als Proof of Concept zu etablieren und alle Daten bekommen ich wollte, aber Anfragen mit ich in der Lage bin mit meinen Zugangsdaten in die Website zu bekommen, aber alles, was ich bekommen ist:Warum bekomme ich 500 Fehler bei der Verwendung von Python-Anfragen, aber nicht cURL
500
text/html; charset=utf-8
https://apis.synchroteam.com/Api/v1/user/list
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Error</title>
</head>
<body>
<h2>
An error occurred while processing your request.
</h2>
</body>
</html>
Process finished with exit code 0
bei der Verwendung von curl mit dieser Linie alles, was die richtigen Informationen liefert:
curl -u domain:APIKEY -H "Accept: application/json" -H "Content-Type: application/json" https://apis.synchroteam.com/Api/v1/user/List
Mein kleines bisschen python-Code ist dies:
import requests
apiurl = 'https://apis.synchroteam.com/Api/v1/user/list'
login = ("domain", "APIKEY")
headers = {'Content-Type': 'application/json'}
def run():
r = requests.get(apiurl, auth=login, headers=headers)
print r.status_code
print r.headers['Content-type']
print r.url
print r.text
run()
Alle der Synchroteam Dokumentation Beispiele in PH hat P, aber ich kann keinen Grund sehen, warum ich Python nicht benutzen könnte. Die Dokumente sind hier: http://api.synchroteam.com/rest.php
Jeder Einblick wäre toll, ich hoffe wirklich, es ist nur etwas kleines Ich vermisse. Danke.
Haben Sie versucht, den Header 'Accept:' ebenfalls zu setzen? – ig0774
Ich habe nicht. Irgendeine Idee, was ich es akzeptieren sollte? Ich bin mir nicht sicher, woran es gerade hängt. Sorry für die grundlegende Frage, es ist das erste Mal, dass ich HTTP oder externe APIs verwende. –
UPDATE: Ich habe das nicht versucht. Mir ist klar, dass dies der Curl-Linie ähnelt. Vielen Dank, das hat mich stundenlang gestört. –