2

在尝试了各种 fitbit php 库 10 小时后,我转向 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']);
    }
}

我也在这里尝试过,但它不返回用户令牌或会话 ID https://github.com/nostra999/fitbit-api

4

1 回答 1

1

可能错过了初始化步骤,如 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 请求参数无效或未提供身份验证标头的任何情况。这不包括无效的特定资源 ID

如果这没有帮助,请提供您运行的完整代码,而不仅仅是

$profile = $fitbit->getProfile();

于 2015-07-03T22:49:31.363 回答