Hilfe bei der Programmierung der API


#1

Ich versuche gerade bei Python-Skript Daten an eure API zu übertragen. Doch irgendwas passt nicht. Ich habe noch noch keine echten Daten genommen, sondern einfach zwei Werte aus eurem Beispiel in der Doku der API. Jedoch funktioniert das nicht und ich erhalte den Fehlercode 422 (The 422 (Unprocessable Entity) status code means the server understands the content type of the request entity, and the syntax of the request entity is correct but was unable to process the contained instructions.
Habt ihr eine Idee, was ich falsch mache?

[Python]
import requests
import json

headers = {'content-type': 'application/json'}
url = 'https://api.opensensemap.org/boxes/:hierstehtmeinesenseboxID/data'

data = {"sensordatavalues": [
          {
            "value_type": "SDS_P1",
            "value": "5.38"
          },
          {
            "value_type": "SDS_P2",
            "value": "4.98"
          }
        ]
       }
params = {'luftdaten': 1}

r = requests.post(url, params=params, json=data, headers=headers)

print(r.status_code)
[/Python]

#2

Hi Backi,

wenn ich deinen Code ausprobiere, kriege ich den korrekten HTTP Status Code 201, hast du auch in deiner URL die korrekte senseBox ID eingestellt?

Viele Grüße,
Gerald


#3

ja und nein - danke fürs testen. Ich hatte schon die fast richtige Url - nur hatte ich den Doppelpunkt vor der Sense-BoxID nicht entfernt. Jetzt gehts. Danke!