如何用python-garminconnect快速上手:从安装到获取第一份运动数据的完整教程
如何用python-garminconnect快速上手:从安装到获取第一份运动数据的完整教程
python-garminconnect是一个功能强大的Python 3 API包装器,专为Garmin Connect平台设计,帮助用户轻松获取运动活动统计数据。无论你是运动爱好者想追踪自己的训练数据,还是开发者需要集成Garmin数据到自己的应用中,这个工具都能满足你的需求。
🌟 为什么选择python-garminconnect?
python-garminconnect提供了简单易用的接口,让你无需深入了解Garmin Connect的复杂API细节,就能轻松获取各种运动数据。它支持认证令牌存储与自动重用、多因素认证(MFA),并提供全面的错误处理机制,确保你的数据获取过程稳定可靠。
🚀 快速安装步骤
安装python-garminconnect非常简单,只需使用pip命令即可:
pip3 install garth requests
如果你需要从源代码安装,可以先克隆仓库:
git clone https://gitcode.com/gh_mirrors/py/python-garminconnect
cd python-garminconnect
pip3 install .
🔑 初始化与认证
使用python-garminconnect的第一步是进行认证。项目提供了一个简单的example.py文件,展示了完整的认证流程,包括令牌存储和MFA支持。
基本认证流程如下:
- 导入必要的模块
- 创建Garmin对象
- 使用邮箱和密码登录(支持MFA)
- 保存令牌以便后续使用
以下是简化的认证代码示例:
from garminconnect import Garmin
# 初始化Garmin API
garmin = Garmin(email="your_email@example.com", password="your_password")
# 登录并获取令牌
garmin.login()
# 保存令牌以便下次使用
garmin.garth.dump("~/.garminconnect")
📊 获取运动数据
成功认证后,你可以使用各种API方法获取不同类型的运动数据。python-garminconnect提供了丰富的方法,包括:
- 获取用户基本信息:
get_full_name()、get_unit_system() - 获取日常活动数据:
get_user_summary()、get_steps_data()、get_floors() - 获取健康数据:
get_heart_rates()、get_body_composition()、get_sleep_data() - 获取活动记录:
get_activities()、get_last_activity()、get_activity_details()
以下是获取今日活动统计数据的示例:
from datetime import date
# 获取今天的日期
today = date.today().isoformat()
# 获取今日活动摘要
summary = garmin.get_user_summary(today)
# 提取步数、距离和卡路里数据
steps = summary.get("totalSteps", 0)
distance_km = summary.get("totalDistanceMeters", 0) / 1000
calories = summary.get("totalKilocalories", 0)
print(f"今日步数: {steps}")
print(f"行走距离: {distance_km:.2f} 公里")
print(f"消耗卡路里: {calories}")
💡 实用示例:获取最近活动
下面是一个完整的示例,展示如何获取并打印最近的运动活动:
# 获取最近的10个活动
activities = garmin.get_activities(limit=10)
print("最近活动:")
for activity in activities:
activity_id = activity["activityId"]
activity_name = activity["activityName"]
start_time = activity["startTimeLocal"]
distance_km = activity["distance"] / 1000 # 转换为公里
duration = activity["duration"] // 60 # 转换为分钟
print(f"- {activity_name} ({start_time}): {distance_km:.2f}公里, {duration}分钟")
📚 更多资源
- 完整的API方法列表可以在garminconnect/init.py中找到
- 更详细的示例可以参考demo.py文件
- 测试数据和示例 workout 文件位于test_data/目录
❓ 常见问题
Q: 如何处理认证失败?
A: 确保你的Garmin账号密码正确,如果启用了MFA,需要在登录时提供验证码。可以删除存储的令牌文件(默认在~/.garminconnect)后重新尝试登录。
Q: 为什么某些API方法返回空数据?
A: 某些数据可能需要特定的Garmin设备支持,或者你的账号没有相关数据。可以检查example.py中的错误处理方法,了解具体原因。
Q: 如何获取更多的活动数据?
A: 可以使用get_activities方法的start和limit参数来分页获取更多活动,例如get_activities(start=10, limit=20)将获取第11到30个活动。
通过本教程,你已经掌握了python-garminconnect的基本使用方法。现在,你可以开始探索更多API方法,获取和分析你的运动数据了!无论是日常健身追踪还是开发运动相关应用,python-garminconnect都能为你提供强大的支持。
更多推荐



所有评论(0)