Тема: Выполнение отчета
Добрый день
Есть у нас потребность вытащить некоторые данные из Виалона в другую систему.
Выполняю пошагово запросы
Получил ID сессии
url1 = """http://.../wialon/ajax.html?svc=\
token/login¶ms=\
{"token":"3634e49c84d7be374e7cb67f59178076932AB67F73CD8936B8BD6127469C1B6AF6C5B416"}"""
resp1 = urllib.request.urlopen(url1)
data1 = json.loads(resp1.read())
Получил ID машин
url2 = """http://.../wialon/ajax.html?svc=core/search_items&\
params={"spec":{"itemsType":"avl_unit","propName":"rel_hw_type_name","propValueMask":"*","sortType":"rel_hw_type_name"},\
"force":1,"flags":1,"from":0,"to":0}&sid="""+data1['eid']
resp2 = urllib.request.urlopen(url2)
data2 = json.loads(resp2.read())
Ответ
{'searchSpec': {'itemsType': 'avl_unit', 'propName': 'rel_hw_type_name', 'propValueMask': '*', 'sortType': 'rel_hw_type_name', 'propType': '', 'or_logic': '0'}, 'dataFlags': 1, 'totalItemsCount': 230, 'indexFrom': 0, 'indexTo': 0, 'items': [{'nm': 'КОЛ О323МР51', 'cls': 2, 'id': 3730, 'mu': 0, 'uacl': 567271248675}, {'nm': 'КОЛ МР091851', 'cls': 2, 'id': 3805, 'mu': 0, 'uacl': 567271248675}, {'nm': 'КОЛ В097КА51', 'cls': 2, 'id': 3842, 'mu': 0, 'uacl': 567271248675},
...
{'nm': 'КОЛ Е598МЕ51', 'cls': 2, 'id': 647, 'mu': 0, 'uacl': 567271248675}, {'nm': 'КОЛ У393МУ51', 'cls': 2, 'id': 3133, 'mu': 0, 'uacl': 567271248675}]}
ID Ресурса
url32 = """http://.../wialon/ajax.html?svc=core/search_items&\
params={"spec":{"itemsType":"avl_resource","propName":"","propValueMask":"*","sortType":""},\
"force":1,"flags":1,"from":0,"to":0}&sid="""+data1['eid']
resp32 = urllib.request.urlopen(url32)
data32 = json.loads(resp32.read())
Ответ
{'searchSpec': {'itemsType': 'avl_resource', 'propName': '', 'propValueMask': '*', 'sortType': '', 'propType': '', 'or_logic': '0'}, 'dataFlags': 1, 'totalItemsCount': 2, 'indexFrom': 0, 'indexTo': 0, 'items': [{'nm': 'Основной ресурс', 'cls': 3, 'id': 186, 'mu': 0, 'uacl': 17636562850595}, {'nm': 'Колэнерго', 'cls': 3, 'id': 237, 'mu': 0, 'uacl': 52913983476515}]}
ID отчета
url31 = """http://.../wialon/ajax.html?svc=core/search_items&\
params={"spec":{"itemsType":"avl_resource","propName":"reporttemplates","propValueMask":"*","sortType":"reporttemplates"},\
"force":1,"flags":8192,"from":0,"to":0}&sid="""+data1['eid']
resp31 = urllib.request.urlopen(url31)
data31 = json.loads(resp31.read())
Ответ
{'searchSpec': {'itemsType': 'avl_resource', 'propName': 'reporttemplates', 'propValueMask': '*', 'sortType': 'reporttemplates', 'propType': '', 'or_logic': '0'}, 'dataFlags': 8192, 'totalItemsCount': 2, 'indexFrom': 0, 'indexTo': 0, 'items': [{'rep': {'1': {'id': 1, 'n': 'Пробная поездка', 'ct': 'avl_unit', 'c': 27316}, '2': {'id': 2, 'n': 'Превышение скорости группа Осн.ресурс', 'ct': 'avl_unit_group', 'c': 44889}, '3': {'id': 3, 'n': 'Трафик основной ресурс', 'ct': 'avl_unit_group', 'c': 23431}, '4': {'id': 4, 'n': 'ВОЛ E548EA35', 'ct': 'storage_user', 'c': 58639}}}, {'rep': {'1': {'id': 1, 'n': 'Кол_хрон', 'ct': 'avl_unit_group', 'c': 37202}, '2': {'id': 2, 'n': 'Превышение скорости группа КОЛ', 'ct': 'avl_unit_group', 'c': 13401}, '3': {'id': 3, 'n': 'Мой отчет по скорости', 'ct': 'avl_unit_group', 'c': 45815}}, 'repmax': 0}]}
Запускаю отчет
url4 = """http://.../wialon/ajax.html?svc=report/exec_report\
¶ms={"reportResourceId":237,"reportTemplateId":3,"reportObjectId":2704,\ #id ресурса, отчета, машины
"reportObjectSecId":0,"interval":{"from":1560902400,"to":1560986969,"flags":0x00}}&sid="""+data1['eid']
resp4 = urllib.request.urlopen(url4)
data4 = json.loads(resp4.read())
Получаю
{'error': 4, 'reason': 'WRONG_PARAMS'}
Или глаз замылился, или я что то недопонимаю.
Подскажите, что я неправильно делаю?
Wialon Local 1804