Вопрос или проблема
Следующий шаг: переменная “вес” из силовой тренировки в API Garmin Connect
API Garmin предоставляет различные данные о запланированной силовой тренировке. Модуль “Toybox.Activity”, в частности, предоставляет несколько классов, таких как Info, ProfileInfo, WorkoutIntervalStep, WorkoutStep, WorkoutStepInfo, но ни один из них не предоставляет вес для текущего или следующего WorkoutStep.
Эта информация явно доступна где-то, потому что приложение Strength использует её несколько раз, как показано на изображениях.
Вопрос в том, как получить переменную “вес” для следующего упражнения в силовой тренировке через API Garmin Connect?
Моя идея — создать поле данных, в котором можно было бы увидеть, какое следующее упражнение, сколько серий, повторений и вес нужно выполнить, чтобы эффективно настроить спортивное оборудование.
Ответ или решение
Для получения переменной "вес" из следующего упражнения в тренировке на силу с использованием API Garmin Connect, необходимо понимать структуру данных, предоставляемых API.
-
Изучите документацию API: Начните с изучения документации Garmin Connect API, особенно разделов, связанных с модулями "Toybox.Activity" и классами, такими как
WorkoutStep
,WorkoutIntervalStep
,WorkoutStepInfo
, и т. д. Это позволит вам лучше понять, как происходит структурирование данных. -
Анализ доступных классов:
- Класс
WorkoutStep
обычно содержит информацию об упражнениях, таких как продолжительность, название упражнения и количество повторений. Однако, как вы отметили, он может не содержать явного атрибута "вес". - Проверьте, есть ли в других классах, связанных с
WorkoutStep
, такие какWorkoutStepInfo
, параметры для указания веса. Вполне возможно, что "вес" хранится в связанных данных или в другом классе, который не упомянут в основной документации.
- Класс
-
Использование метода получения тренировок: Вам нужно будет использовать методы API для запроса конкретной тренировки на силу. Используйте конечные точки API, которые возвращают данные о спортсмене или о запланированных тренировках. Запросите данные о последней собранной тренировке, чтобы получить идентификатор текущего
WorkoutStep
. -
Проверка данных о предыдущих и следующих шагах: После получения информации о текущем
WorkoutStep
, проверьте поля, которые могут иметь ссылки на следующий шаг или возможность итерации по шагам тренировки. Важно протестировать возможные ассоциации между шагами и условия, при которых предоставляется информация о весе. -
Тестирование и отладка: Создайте тестовый запрос через Postman или другой инструмент, чтобы отправить запрос и увидеть структуру возвращаемых данных. Это может помочь вам найти недостающую информацию о весе.
-
Создание пользовательского поля данных: После того как получена необходимая информация о следующем упражнении, количестве серий, повторений и весе, вы можете приступить к созданию пользовательского поля данных для отображения этих данных на вашем устройстве. Используйте API Garmin Connect для создания и настройки пользовательских полей данных, позволяющих вам видеть следующую тренировку.
- Обратитесь в службу поддержки Garmin: Если в процессе исследования и тестирования не удается найти информацию о весе, вы можете обратиться в службу поддержки Garmin Connect API с конкретным вопросом. Команда поддержки может предоставить угол зрения на существующие проблемы API или способы работы с определенными переменными.
Таким образом, чтобы получить переменную "вес" для следующего шага в тренировках на силув, необходимо совершить ряд шагов, включая изучение структуры API, прямые запросы к нужным данным и, при необходимости, обращение в поддержку. Будьте готовы к тому, что информация может быть распределена по различным классам и не всегда будет явным образом указана в документации.