DEVICE ID
Взаємодія з пристроями відбувається через їх ID. Як отримати перелік ID пристроїв, доступних користувачу, наведено в bash-скрипті нижче.
#!/bin/bash
URL="https://my.m2m.eu"
API_URL="api/devices"
TOKEN_FILE="token.txt"
OUTPUT_FILE="devices_id.csv"
# Перевіряємо валідність токена та оновлюємо за потреби. Скрипт get_update_token.sh має бути в тій самій папці що і виконуваний скрипт.
#./get_update_token.sh
# Зчитуємо токен
if [[ ! -f "$TOKEN_FILE" ]]; then
echo "Файл $TOKEN_FILE не найден"
exit 1
fi
TOKEN=$(<"$TOKEN_FILE")
# Запит
RESPONSE=$(curl -s -X GET "$URL/$API_URL" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json")
# Перевіряємо JSON
if ! echo "$RESPONSE" | jq . >/dev/null 2>&1; then
echo "Помилка: сервер повернув невалідний JSON:"
echo "$RESPONSE"
exit 1
fi
# Вивід у файл в форматі CSV з роздільним знаком ";"
echo "id;name;model;uniqueId;phone;phone2" > $OUTPUT_FILE
echo "$RESPONSE" | jq -r '.items[] | "\(.id);\(.name);\(.model);\(.uniqueId);\(.phone);\(.phone2);"' >> $OUTPUT_FILE
# Покращений вивід в CSV з роздільним знаком ","
#echo "id,name,model,uniqueId,phone,phone2" > $OUTPUT_FILE
#echo "$RESPONSE" | jq -r '.items[] | [.id, .name, .model, .uniqueId, .phone, .phone2] | @csv' >> $OUTPUT_FILE
Скопіюйте скрипт в файл get_devices_id.sh, надайте права на виконання chmod +x get_devices_id.sh. Виконайте скрипт командою ./get_devices_id.sh.
Для виконання скрипта необхідно:
- серидовище Linux Debian
- встановлені додаткові компоненти: apt install curl jq -y
- наявність файлу token.txt з активним токеном в папці зі скриптом
- для перевірки та оновлення токена покладіть скрипт get_update_token.sh в папку з виконуваним скриптом та приберіть коментар # на початку рядка
Результат виводу:
id;name;model;uniqueId;phone;phone2
35;123;;359632101551528;+380689531130;;
58;777;Teltonika FMB920;353201350499338;+380981194987;null;
1487;AZE TEST;Teltonika FMB920;13524262542545565;null;null;
25;Honda Civic_O;Wialon IPS;861937063251459;+380689120288;null;
1667;Honda Civic_O;Wialon IPS;75458684167619312345;;;
28;Trek Marlin 5;TMT250;354018119996803;+380939654419;null;
1632;Генератор №1;Wialon IPS;353201353191072;+380671998559;;
1634;Генератор №2;Wialon IPS;353201357518205;+380678362895;;
1636;Генератор №3;Wialon IPS;353201356433836;+380672669383;;
12;Тригуб Opel Vivaro;Teltonika FMB003;352016708021118;+380664906294;null;
Для роботи з CSV файлами рекомендується використовувати Google Tables