REPORTS ID
Взаємодія зі звітами відбувається через їх ID. Як отримати перелік ID звітів, доступних користувачу, наведено в bash-скрипті нижче.
#!/bin/bash
URL="https://my.m2m.eu"
API_URL="api/report/templates"
TOKEN_FILE="token.txt"
OUTPUT_FILE="reports_id.csv"
# Перевіряємо валідність токена та оновлюємо за потреби
#./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;type" > $OUTPUT_FILE
echo "$RESPONSE" | jq -r '.[] | "\(.id);\(.name);\(.elementType)"' >> $OUTPUT_FILE
# Покращений вивід в CSV з роздільним знаком ","
#echo "id,name,type" > $OUTPUT_FILE
#echo "$RESPONSE" | jq -r '.[] | [.id, .name, .elementType] | @csv' >> $OUTPUT_FILE
Скопіюйте скрипт в файл get_reports_id.sh, надайте права на виконання chmod +x get_reports_id.sh. Виконайте скрипт командою ./get_reports_id.sh.
Для виконання скрипта необхідно:
- серидовище Linux Debian
- встановлені додаткові компоненти: apt install curl jq -y
- наявність файлу token.txt з активним токеном в папці зі скриптом
- для перевірки та оновлення токена покладіть скрипт get_update_token.sh в папку з виконуваним скриптом та приберіть коментар # на початку рядка
Результат виводу:
id;name;type
150;Поїздки+Пальне+Г рафік;DEVICE
200;Генератор;DEVICE
201;Генератор (Група);DEVICE_GROUP
Для роботи з CSV файлами рекомендується використовувати Google Tables