API Python

Lukseri
Posts: 1
Joined: Thu Oct 13, 2022 9:09 pm

Post

Cześć,
jestem świeżakiem jeśli chodzi o programowanie. Chciałbym jednak w bardzo prosty sposób zrobić sobie sterowanie przez własną apkę desktopową. Udało mi się wygenerować token i obsłużyć między innymi funkcję get - location. Mam jednak problem, żeby cokolwiek wysterować. Chciałbym uzyskać prostą opcję włączania/wyłączania jakiegoś kanału. Jeśli dobrze rozumiem to mogę użyć do tego funkcji PUT - channel. Jednak kod, który mam z dokumentacji pokazuje mi błąd: "{'status': 400, 'message': 'Invalid json message received'}"
Proszę o jakąś podpowiedź.
Mój kod poniżej (token zmieniony) :

Code: Select all

headers = {
    'accept': 'application/json',
    'Authorization': 'Bearer ZFNSUIDFSDIUFNUSDR0cHM6Ly9zdnI3Ni5zdXBsYS5vcmc=',
    'Content-Type': 'application/json' 
  }
data = {
  "functionId": "OPENINGSENSOR_GATE",
  "caption": "string",
  "altIcon": 0,
  "hidden": "true",
  "locationId": 0,
  "inheritedLocation": "true",
  "userIconId": 0,
  "config": {}
}
req = 'https://svr76.supla.org/api/v2.4.0/channels/6673?safe=false'
r = requests.put(url = req, data = data, headers=headers)
print(r.json())

Return to “Pomoc”