如何用python-garminconnect快速上手:从安装到获取第一份运动数据的完整教程

【免费下载链接】python-garminconnect Python 3 API wrapper for Garmin Connect to get activity statistics 【免费下载链接】python-garminconnect 项目地址: https://gitcode.com/gh_mirrors/py/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支持。

基本认证流程如下:

  1. 导入必要的模块
  2. 创建Garmin对象
  3. 使用邮箱和密码登录(支持MFA)
  4. 保存令牌以便后续使用

以下是简化的认证代码示例:

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}分钟")

📚 更多资源

❓ 常见问题

Q: 如何处理认证失败?
A: 确保你的Garmin账号密码正确,如果启用了MFA,需要在登录时提供验证码。可以删除存储的令牌文件(默认在~/.garminconnect)后重新尝试登录。

Q: 为什么某些API方法返回空数据?
A: 某些数据可能需要特定的Garmin设备支持,或者你的账号没有相关数据。可以检查example.py中的错误处理方法,了解具体原因。

Q: 如何获取更多的活动数据?
A: 可以使用get_activities方法的startlimit参数来分页获取更多活动,例如get_activities(start=10, limit=20)将获取第11到30个活动。

通过本教程,你已经掌握了python-garminconnect的基本使用方法。现在,你可以开始探索更多API方法,获取和分析你的运动数据了!无论是日常健身追踪还是开发运动相关应用,python-garminconnect都能为你提供强大的支持。

【免费下载链接】python-garminconnect Python 3 API wrapper for Garmin Connect to get activity statistics 【免费下载链接】python-garminconnect 项目地址: https://gitcode.com/gh_mirrors/py/python-garminconnect

更多推荐