Я хочу получать «Ежедневные сводки» для своих устройств через Garmin API.
Я могу получить форму данных https://healthapi.garmin.com/ , но не могу через запрос API.
Для получения «Ежедневных резюме» я делаю следующие шаги:
Я создаю команду curl:
curl -v -X POST -H "Content-Type: application/json;charset=utf-8" -d '{"dailies":[{"userAccessToken":"userAccessToken","uploadStartTimeInSeconds":1514847600,"uploadEndTimeInSeconds":1515597660,"callbackURL":" https://healthapi.garmin.com/wellnessapi/rest/dailies"}]}' http://mysite/testping.php
Где userAccessToken — токен, который я использую для входа в https://healthapi.garmin.com/ . в ответ я получаю запрос без каких-либо данных.
Я использую руководство «Health REST API Specification» в качестве примера.
Пожалуйста, ответьте, почему я не даю никаких данных из запроса?
Я вижу две проблемы. Запрос, если он был сделан непосредственно на сервер API Garmin, должен быть подписан (OAuth1) и, согласно документации HealthAPI, это GET, а не POST.
Самое главное, что запрос CURL направляется на локальный сервер PHP, а не на Garmin. Я понятия не имею, что работает на этом сервере, поэтому нет способа отладить это дальше. Адрес Garmin находится в полезной нагрузке данных JSON, но curl отправляет эту полезную нагрузку в Http: //mysite/testping.php
Я бы предложил начать с отправки запросов непосредственно на сервер API Garmin, если это возможно, с помощью такого инструмента, как Postman, чтобы убедиться, что запрос правильно сформирован, подписан для OAuth v1 и т. Д.
Других решений пока нет …