Ошибка HTTPS API Fitbit

Я пытаюсь получить данные о частоте сердечных сокращений и сне через API Fitbit, я использую это: https://github.com/orcasgit/python-fitbit

чтобы подключиться к серверу и получить токены доступа и обновления (я использую collect_kays_oauth2 для получения токенов).

И когда я подключаюсь по HTTP, мне удается получить данные о сне, но когда я пытаюсь получить HR следующим образом:

client.time_series("https://api.fitbit.com/1/user/-/activities/heart/date/today/1d.json", period="1d")

Я получаю эту ошибку:

HTTPBadRequest: этот запрос должен использовать протокол HTTPS.

И по какой-то причине я не могу подключиться по HTTPS - когда я пытаюсь это сделать, браузер выдает ERR_SSL_PROTOCOL_ERROR еще до страницы авторизации FITBIT.

я попытался выполнить и исправить любые настройки, которые могут привести к сбою браузера, но все они в порядке, и ошибка все еще появляется.

Я пытался изменить URL-адрес обратного вызова, я искал другие руководства по подключению Fitbit OAUTH2, но мне удалось подключиться только по HTTP, а не по HTTPS.

Кто-нибудь знает, как это решить?


person shachar10    schedule 02.05.2018    source источник
comment
Не могли бы вы включить код, пожалуйста? минимальный, полный и проверяемый пример был бы потрясающим! В противном случае трудно понять, где вы застряли.   -  person Oliver Baumann    schedule 02.05.2018
comment
@OliverBaumann спасибо! я добавил некоторые детали, я надеюсь, что это поможет   -  person shachar10    schedule 04.05.2018
comment
что случилось с ошибкой запроса https этот запрос должен использовать протокол HTTPS   -  person xam    schedule 24.08.2019


Ответы (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

Добавлен:

Если вы хотите получить полные данные о частоте сердечных сокращений в минуту (набор данных ["activities-heart-intraday"]), попробуйте client.intraday_time_series('activities/heart'). Он вернет данные с точностью до одной минуты/секунды.

person YoungChoi    schedule 04.05.2018
comment
когда я пытаюсь это сделать, я получаю: HTTPBadRequest: неверный путь к ресурсу временных рядов: /heart то же самое для всех других параметров - person shachar10; 05.05.2018
comment
для: client.time_series('activities/heart', period='1d') я получаю действительный словарь, но полные данные ЧСС за минуту (набор данных [activities-heart-intrada]) пусты - person shachar10; 05.05.2018
comment
Вы проверяли, есть ли данные в вашем фитбите? Или вы пробовали client.time_series(‘activities/heart’, period=‘1m’), чтобы получить полные данные ЧСС в минуту? - person YoungChoi; 05.05.2018
comment
определенно есть данные, и я получаю значения максимальной / минимальной / средней частоты сердечных сокращений, но не детали за одну минуту / одну секунду (и 1 м возвращает все суммарные значения месяц назад, все еще нет подробных значений) - person shachar10; 05.05.2018
comment
@shachar10 Тогда попробуйте client.intraday_time_series(‘activities/heart’). python-fitbit.readthedocs.io/en/latest/ - person YoungChoi; 05.05.2018
comment
@ shachar10, может быть, стоит добавить фрагмент client.intraday_time_series() в исходный ответ? Таким образом, другим людям с такой же проблемой не нужно просматривать комментарии в поисках реального решения. - person Oliver Baumann; 07.05.2018

Хорошо, я решил проблему 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 возвращают ту же ошибку. Вместо того, чтобы дать вам немного больше информации о том, что только что произошло.

person xam    schedule 24.08.2019