从Nike+检索训练数据的API。

sw.nikeplus的Python项目详细描述


Nikeplus API

作为一名Nike+用户和软件工程师,我认为 能够得到我跑步的原始数据。这一小部分软件使您能够 以xml(由nike提供)或json格式获取数据。

您所需要的只是您的用户标识,您可以通过以下步骤获得该标识:

  1. 登录到NikePlus
  2. 单击my runs
  3. 单击跑步记录右上角的share按钮。
  4. 单击添加到网页
  5. 单击获取代码

代码现在被复制到剪贴板。在密码里,你可以找到 用户ID。

如何使用

以下测试是使用我的用户ID进行的实时测试。他们会确保 代码适用于实时Nike+API。

>>> import sw.nikeplus
>>> user_id = 279218513

以xml格式检索数据

>>> print sw.nikeplus.get_xml(user_id)
<?xml...<status>success...<run id="1889752785" workoutType="standard"><startTime>2006-10-31T16:50:07+01:00...

将缓存来自Nike+的响应。如果出于任何原因 下一次尝试时出现故障,将返回旧的响应。你可以强迫 通过提供可选参数force刷新。

在json中检索数据

>>> print sw.nikeplus.get_json(user_id)
{'status': 'success',...'startTime': '2006-10-31T16:50:07+01:00', 'duration': '1752873', 'id': '1889752785', 'workoutType': 'standard'...

Nike+的响应也缓存在这里。您可以提供可选的 如果要禁用缓存,还可以使用参数force。

帮助函数

有一个名为xml2json的helper函数。它应该适用于每个XML, 不仅仅是Nike+One。在包装内测试,但可以使用 如果您需要,可以从其他软件包获得:

>>> import sw.nikeplus.utils
>>> print sw.nikeplus.utils.xml2json(
...     """<?xml version="1.0" encoding="UTF-8"?>
...        <note id="1234">
...          <to>Tove</to>
...          <from>Jani</from>
...          <heading>Reminder</heading>
...          <body>Don't forget me this weekend!</body>
...        </note>""")
{'body': "Don't forget me this weekend!", 'to': 'Tove', 'from': 'Jani', 'heading': 'Reminder', 'id': '1234'}

更改日志

0.1(2012-04-04)

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java流/下载文件,无需在Spring Boot中保留内存   kotlin/java是否有类似TryParse()的东西?   java Spring引导找不到用户类型的属性ID   java Spring 2到Spring 3的迁移:一个控制器用于多个视图   java包含多个程序包名为“安卓”的库。支持图样可提取'   java spring JPA是否支持自定义值框架?   java转义出基于文本字段的搜索栏   java AAPT:错误:未找到样式属性“安卓:attr/WindowsPlashCreenBackground”   java从文本文件中读取纬度和经度   java哪里可以找到如何使用排序的示例。顺序ignorecase(),其中nullhandling nulls last用于自定义Spring JPA如何提供查询   尝试使用Dialogflow上的Webhook动态给出响应时,java获取Webhook响应错误(206)   如何在java中替换匹配的字符串?   java模拟数学的最大价值。随机的   java Spring RestTemplate GET请求未给出正确响应   春爪哇。lang.IllegalArgumentException   java系统。load()永远不会发生   java剪辑循环不工作   java如何从maven构建中删除staxapi   java ThreadPoolExecutor的排队行为是否可以自定义,以更喜欢创建新线程而不是排队?