我试图通过fitbit API获取我的心率和睡眠数据,我使用的是: https://github.com/orcasgit/python-fitbit
为了连接到服务器并获得访问和刷新令牌(我使用gather_kays_oauth2获取令牌)。在
当我在HTTP中进行连接时,我确实设法获得睡眠数据,但当我试图像这样获取HR时:
client.time_series("https://api.fitbit.com/1/user/-/activities/heart/date/today/1d.json", period="1d")
我得到这个错误:
HTTPBadRequest:此请求必须使用HTTPS协议
由于某些原因,我无法使用HTTPS连接-当我尝试时,浏览器甚至在FITBIT授权页面之前弹出一个ERR_SSL_PROTOCOL_错误。在
我试图跟踪并修复任何可能导致浏览器失败的设置,但它们都很好,错误仍然会弹出。在
我试图更改回调URL,我搜索了其他fitbitoauth2连接指南,但我只设法用HTTP而不是HTTPS连接
有人知道怎么解决吗?在
好吧,我已经根据我的需要解决了HTTPS问题。那是因为我向。在
https://api.fitbit.com//1/user/-/activities/recent.json
我删除了.com后面的正斜杠,它起作用了
https://api.fitbit.com/1/user/-/activities/recent.json
但是,这与您为我返回相同消息的问题不同
this request must use the HTTPS protocol
。在这意味着任何由于对Fitbit的错误请求而导致的未处理错误都会返回相同的错误。而不是给你一点关于刚刚发生的事情的线索。在
您的代码应该是
client.time_series('activities/heart', period='1d')
以获取心率。在对于第一个参数resource,它不需要资源URL,但它要求您输入以下内容之一:activities、body、foods、heart、sleep。在
以下是
python-fitbit
源代码的链接:http://python-fitbit.readthedocs.io/en/latest/_modules/fitbit/api.html#Fitbit.time_series
添加:
如果您想获得每分钟的完整心率数据([“activities heart intraday”]数据集),请尝试
client.intraday_time_series('activities/heart')
。它将返回包含一分钟/一秒详细信息的数据。在相关问题 更多 >
编程相关推荐