Samsung Galaxy Watch integration via Google Drive for Dr. Sophia AI. Covers Health Sync app setup, OAuth configuration, multi-user management, data sync verification. Use when setting up Samsung Health wearables, adding new users to wearables system, troubleshooting Samsung Health sync, or configuring Google Drive OAuth.
Guide for integrating Samsung Galaxy Watch data with Dr. Sophia AI using Google Drive and Health Sync app (bypassing Terra API limitations). This skill covers OAuth setup, multi-user management, and sync verification.
Keywords: Samsung Health, Galaxy Watch, wearables, Google Drive, Health Sync, OAuth, multi-user, data sync
Status: ✅ Fully implemented and working (User2: 33,636 steps tracked as of Sept 30, 2025)
Integration Method: Google Drive + Health Sync App Why: Bypasses Terra API SDK limitation (Samsung requires native SDK) : FREE (no Terra subscription needed) : Every 5 minutes : 10 minutes per user (one-time)
Samsung Watch → Samsung Health App (phone)
↓
Health Sync App (automatic export)
↓
Google Drive (CSV/GPX files)
↓
Our Backend (OAuth API)
↓
Frontend Display (real-time updates)
On Android phone with Samsung Health:
Get OAuth credentials from Google Cloud Console:
Add these to Railway backend service variables:
GOOGLE_CLIENT_ID=492699022293-fh2a1hhcvs96tbp6mub46f6fh2cvcr5e.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=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
GOOGLE_REFRESH_TOKEN_USER1=1//04ZHPrIbWyyQTCgYIARAAGAQSNwF-L9Ir...
USER1_NAME=Willie (Primary)
[email protected]
# Check active users
curl http://localhost:8202/api/health-users
# Get user data
curl http://localhost:8202/api/health-data/user1
# Expected response: steps, HR, sleep data
Current Users:
CRITICAL: Dwayne has TWO different emails!
[email protected][email protected]profiles.metadata.wearables_email fieldCurrently Tracking:
Data Format: CSV/GPX files parsed by backend
/backend/src/services/googleDriveHealthSync.js - Core integration/backend/multi-user-health-sync.js - Multi-user management/backend/src/services/userHealthManager.js - Credential storage/backend/parse-samsung-health.js - CSV/GPX parser/frontend/src/components/SamsungHealthDisplay.jsx - UI display/frontend/src/components/HealthUserManager.jsx - User switching# Start auto-sync (current user)
node health-sync-with-oauth.js
# List all users
node multi-user-health-sync.js list-users
# Add new user
node multi-user-health-sync.js add-user "Name" "email" "refresh_token"
# Switch active user
node multi-user-health-sync.js switch-user user2
# Parse latest data
node parse-samsung-health.js
For detailed OAuth flow and Google Cloud Console setup, see:
Check sync status:
curl http://localhost:8202/api/health-data/user1 | jq .
# Expected output:
{
"steps": [...],
"heartRate": [...],
"sleep": [...],
"activities": [...]
}
No data returned:
Sync not updating:
Wrong user data:
Why not using Terra:
Solution: Bypassed Terra completely using Google Drive API Result: Full functionality without Terra subscription
Integration: Google Drive + Health Sync app Sync Frequency: Every 5 minutes Cost: FREE Setup Time: 10 minutes per user Status: Production-ready (Sept 30, 2025)