从Nike+检索训练数据的API。
sw.nikeplus的Python项目详细描述
Nikeplus API
作为一名Nike+用户和软件工程师,我认为 能够得到我跑步的原始数据。这一小部分软件使您能够 以xml(由nike提供)或json格式获取数据。
您所需要的只是您的用户标识,您可以通过以下步骤获得该标识:
- 登录到NikePlus。
- 单击my runs。
- 单击跑步记录右上角的share按钮。
- 单击添加到网页。
- 单击获取代码。
代码现在被复制到剪贴板。在密码里,你可以找到 用户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)
- 初始版本