Ich versuche, ein Dashboard auf Grafana mit ihrer Backend-API zu erstellen. Ich teste zuerst, dass mein API-Token mithilfe von GET eingerichtet wurde, und erhalte erfolgreich einen Rückgabecode von 200 (siehe unten). Ich versuche dann, POST zu verwenden, um ein einfaches Dashboard zu erstellen, aber ich bekomme immer einen Returncode von 400. Ich bin mir ziemlich sicher, dass es etwas mit der Payload zu tun hat, die ich senden will, aber ich konnte es nicht herausfinden . Hier ist der Link zu der Beispielseite, die ich für ihr JSON-Format verwende.Kann mit Hilfe von Python3-Modulanforderungen nicht an POST an POST senden.
http://docs.grafana.org/reference/http_api/import requests
headers = {"Accept": "application/json","Content-Type": "application/json" ,"Authorization": "Bearer xxx"}
r = requests.get("http://www.localhost",headers=headers)
print(r.text)
print(r.status_code)
dashboard = {"id": None,
"title": "API_dashboard_test",
"tags": "[CL-5]",
"timezone": "browser",
"rows":"[{}]",
"schemaVersion": 6,
"version": 0
}
payload = {"dashboard": "%s" % dashboard}
url = "http://www.localhost/api/dashboards/db"
p = requests.post(url,headers=headers, data=payload)
print(p)
print(p.status_code)
print(p.text)
OUTPUT:
200
<Response [400]>
400
[{"classification":"DeserializationError","message":"invalid character 'd' looking for beginning of value"},{"fieldNames":["Dashboard"],"classification":"RequiredError","message":"Required"}]
'Nutzlast = { "Armaturenbrett": Armaturenbrett}' –
http://stackoverflow.com/questions/39954475/post-request-works-in-postman-but-not -in-python/39954514 # 39954514, –
@PadraicCunningham Das war ein Problem, das ich hatte. Ich musste auch die Syntax für den Rest meiner Argumente ändern, die falsch mit dem Konvertieren des Python-Objekts in eine JSON-Zeichenfolge als Sub angegeben wurde, danke. –