fitbit API HTTPS错误

时间:2018-05-02 18:35:24

标签: python https fitbit

我正在尝试通过fitbit API获取心率和睡眠数据,我正在使用: https://github.com/orcasgit/python-fitbit

为了连接到服务器并获取访问权限并刷新令牌(我使用gather_kays_oauth2来获取令牌)。

当我在HTTP中进行连接时,我确实设法获取睡眠数据,但是当我试图获得这样的HR时:

                       "responsive": {
                            "enabled": true,
                            "addDefaultRules": false,
                            "rules": [
                                {
                                    "maxWidth": 400,
                                    "overrides": {
                                        "legend": {
                                            "enabled": false
                                        }
                                    }
                                }

我收到此错误:

HTTPBadRequest:此请求必须使用HTTPS协议

由于某种原因我无法用HTTPS连接 - 当我尝试它时,浏览器甚至在FITBIT授权页面之前弹出一个ERR_SSL_PROTOCOL_ERROR。

我试图关注并修复可能导致浏览器失败的任何设置,但它们都很好并且错误仍然会弹出。

我试图更改回调网址,我搜索了其他fitbit OAUTH2连接指南,但我只设法连接HTTP而不是HTTPS

有谁知道如何解决它?

2 个答案:

答案 0 :(得分:2)

您的代码应为client.time_series('activities/heart', period='1d')以获得心率。

对于第一个参数资源,它不需要资源URL,但它会要求您放置其中一个:活动,身体,食物,心脏,睡眠。

以下是python-fitbit的源代码链接:

http://python-fitbit.readthedocs.io/en/latest/_modules/fitbit/api.html#Fitbit.time_series

添加了:

如果您想获得每分钟的全心率数据(["活动 - 心脏 - 日内"]数据集),请尝试client.intraday_time_series('activities/heart')。它将以一分钟/一秒的细节返回数据。

答案 1 :(得分:0)

好吧,我已经根据需要解决了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的请求格式错误而导致的任何未处理的错误均会返回该错误。与其为您提供更多有关刚刚发生的事情的线索。