2015-05-24 292 views
2

經過10個小時的嘗試各種fitbit php庫我轉向求助於stackoverflow。fitbit php身份驗證不起作用

這不起作用: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

回答

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錯誤的請求,其中任一端點不存在任何情況下,資源 路徑參數是無效的,POST請求參數無效或不 認證頭提供。這不包括無效具體 資源ID

如果這沒有幫助,請提供您運行的完整代碼,不只是

$外形= $ fitbit-> getProfile();