经过10个小时尝试各种fitbit php库后,我转向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
答案 0 :(得分:1)
可能错过了init步骤,如lib README文件(https://github.com/heyitspavel/fitbitphp/blob/master/README.md)
中所述简单的工作用途是:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.measureregistertool"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.measureregistertool.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
同样来自Fitbit API文档: https://wiki.fitbit.com/display/API/API+Response+Format+And+Errors#APIResponseFormatAndErrors-Response
400 Bad Request任何一个端点都不存在的情况,资源 路径参数无效,POST请求参数无效或无 提供身份验证标头这不包括无效的特定 资源ID
如果这没有帮助,请提供您运行的完整代码,而不仅仅是
$ profile = $ fitbit-&gt; getProfile();