FORMAжурнал

Устройства

Часы и телефон

Веб — пульт: планы и кабинет. Android-клиент читает тот же календарь и забирает тренировки из Health Connect. Strava остаётся запасным облачным путём.

Android · Health Connect

Клиент на телефоне

Веб остаётся пультом: планы, кабинет, питание впрок. Приложение на Android забирает тот же календарь и само читает тренировки из Health Connect, без Strava.

  1. 1. Откройте папку health-android в Android Studio, соберите APK и поставьте на телефон с Zepp.
  2. 2. Выпустите токен ниже и вставьте его в приложении на вкладке «Связь».
  3. 3. Адрес сервера — не localhost, а ПК в той же Wi‑Fi, как в блоке ниже.
  4. 4. В Zepp включите запись в Health Connect. В FORMA на телефоне выдайте права и нажмите «Синхронизировать».

Адрес с телефона

  • http://2.56.240.226:3000
  • http://10.8.0.1:3000

Проверка: GET /api/sync с заголовком Authorization: Bearer …

Токен клиента

154cbcb6d375fb6fb781996328c5beabf94c32db8b85ad6a26a606c478fcb015

Выпущен 2026-09-06 07:36 · телефон был 2026-09-06 08:05 · сессии 2026-09-06 08:05

Strava · Zepp

Автосинхронизация

Цепочка: часы → Zepp → Strava → FORMA. Раз Zepp уже отдаёт тренировки в Strava, FORMA забирает их официальным OAuth.

Почему в настройках нет «API»

  • Пункта нет в приложении на телефоне и в обычном меню «Настройки». Страница только на сайте, прямой адрес: strava.com/settings/api. Сначала войдите в тот же аккаунт, куда льёт Zepp.
  • С 2026 года Strava открывает API только при платной подписке (Strava Premium). Без неё страница пустая, с ошибкой или редиректит назад в настройки. Связка Zepp → Strava от подписки не зависит — это другое меню.
  • Если подписка есть, а страница всё равно пустая: откройте ссылку на компьютере, в обычном браузере, не в приложении.
  1. 1. Оформите подписку, если её нет, затем откройте ссылку выше. Создайте приложение. Callback Domain: localhost.
  2. 2. Скопируйте Client ID и Client Secret сюда и сохраните.
  3. 3. Нажмите «Подключить Strava» и разрешите чтение активностей.

Redirect URI для приложения Strava: http://localhost:3000/api/strava/callback

Если активности не пришли

  • В Zepp: Профиль → сторонние аккаунты → Strava, заливка активностей включена.
  • Новая тренировка сначала появляется в Zepp, потом в Strava (иногда несколько минут), затем «Синхронизировать сейчас».
  • При запросе доступа в Strava нужны права на чтение активностей (activity:read_all), иначе приватные сессии с часов не придут.

Остальные источники

ИсточникС веб-приложениемПуть
Health ConnectЧерез Android-клиентZepp пишет сессии на телефон. Клиент читает Health Connect и шлёт в /api/health-connect.
StravaЗапасной облачный путьOAuth. Нужна подписка Strava, чтобы создать API-приложение.
ZeppФайл GPX / TCXРучной экспорт с карточки тренировки, если автосинк не сработал.
Apple HealthНе из браузераHealthKit только на iPhone.