После 10 часов работы с различными библиотеками php fitbit я обращаюсь за помощью к stackoverflow.
Это не работает: https://github.com/heyitspavel/fitbitphp
С помощью
$profile = $fitbit->getProfile();
с этой библиотекой возвращается
Fatal error: Uncaught exception 'FitBitException' with message 'Your Fitbit request failed. Code: 400' in /var/www/api/fitbitphp.php:324 Stack trace: #0 /var/www/api/addFitbit.php(22): FitBitPHP->getProfile() #1 {main} thrown in /var/www/api/fitbitphp.php on line 324
Эта библиотека на сайте fitbit, похоже, у многих людей есть проблемы с этим.
public function getProfile()
{
$headers = $this->getHeaders();
try {
$this->oauth->fetch($this->baseApiUrl . "user/" . $this->userId . "/profile." . $this->responseFormat, null, OAUTH_HTTP_METHOD_GET, $headers);
} catch (Exception $E) {
}
$response = $this->oauth->getLastResponse();
$responseInfo = $this->oauth->getLastResponseInfo();
if (!strcmp($responseInfo['http_code'], '200')) {
$response = $this->parseResponse($response);
if ($response)
return $response;
else
throw new FitBitException($responseInfo['http_code'], 'Fitbit request failed. Code: ' . $responseInfo['http_code']);
} else {
throw new FitBitException($responseInfo['http_code'], 'Your Fitbit request failed. Code: ' . $responseInfo['http_code']);
}
}
Я попробовал это здесь, но он не возвращает токен пользователя или идентификатор сессии https://github.com/nostra999/fitbit-api
Возможно, пропустили этап инициализации, как описано в файле lib README (https://github.com/heyitspavel/fitbitphp/blob/master/README.md)
Простое рабочее использование это:
<?php
define('FITBIT_KEY', '777'); // The application key registered
define('FITBIT_SECRET', '777'); // The application secret registered
$fitbit = new FitBitPHP(FITBIT_KEY, FITBIT_SECRET);
$fitbit->initSession('http://localhost:8080/fibit'); // callback URL
$fitbit->getProfile();
Также из документации Fitbit API:
https://wiki.fitbit.com/display/API/API+Response+Format+And+Errors#APIResponseFormatAndErrors-Response
400 Bad Request Любой случай, когда ни одна конечная точка не существует, ресурс
параметры пути недопустимы, параметры запроса POST неверны или нет
Предоставлен заголовок аутентификации. Это не включает недопустимый конкретный
идентификаторы ресурсов
Если это не помогает, укажите полный код, который вы запускаете, а не только
$ profile = $ fitbit-> getProfile ();
Других решений пока нет …