Не удается загрузить данные на thingworx с API

Пробовал много способов загрузить данные (почтальон, httpie и т. Д., Как указано на их сайте) на thingworx, но не смог этого сделать. Пожалуйста, взгляните на следующий код для загрузки данных на thingworx:

import requests
import json
app_key = 'xxxx'
url = 'http://pp-1804040542ze.devportal.ptc.io/Thingworx/Things/lmtech_thing/Properties/humidity'
prms = {'appKey': app_key}
hdrs = {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
}
data = {'humidiy': '20'}
text = json.dumps(data)
print 'data: ' + text
r = requests.put(url, params=prms, headers=hdrs, data=text)
print r.status_code

Создали вещь и ключ успешно. но это всегда возвращает ошибку 404.

Пробовал с почтальоном тоже. Вот скриншоты, как показано ниже: GET-запрос выполнен успешно

POST запрос дает 404

Попытка обновить значение свойства (влажности) в lmtech_thing

1 ответ

Решение

Следующий код работал для меня:-)

import requests  # Import requests library to send requests to Thingworx

url = 'http://52.199.28.120:8080/Thingworx/Things/work_thing/Properties/temp'
# temp is one of my property name
value = 12    # Upload 12 on Thingworx

headers = {
    'Content-Type': 'application/json',
    'appkey': 'xxxxxxxxxxxxxxxxxxxxxx',
    'Accept': 'application/json',
    'x-thingworx-session': 'true',
    'Cache-Control': 'no-cache',
}

data = {"temp": value}   # JSON data to upload on Thingworx

response = requests.put(url, headers=headers, json=data)
# Note that we have to send put request

print 'Response Code:', response.status_code
# If 200 then data has been uploaded successfully
print 'Response Content:', response.content
Другие вопросы по тегам