Fitbit Web API 错误授权类型

Fitbit Web API error grant type

以下是api

报错
{"errors":[
   {
     "errorType": "invalid_request",
     "message": "Missing 'grant_type' parameter value."
   }
], "success": false}

//curl request to fetch token with use of auth code used in my code

$curl = curl_init();
curl_setopt_array($curl, array(

    CURLOPT_RETURNTRANSFER => 1,

CURLOPT_URL => 'https://api.fitbit.com/oauth2/token',
CURLOPT_HTTPHEADER => array(
  'Authorization:Basic'.base64_encode(FITBIT_CLIENT_ID.':'.FITBIT_CLIENT_SECRET),
'Content-Type: application/x-www-form-urlencoded'
),
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => array(
    'code' => $auth_code,
    'client_id' => FITBIT_CLIENT_ID,
    'grant_type' => "authorization_code", //auth code received in url params
    'redirect_uri' => 'https://www.example.com/auth/fitbit/success'
)
));
$resp = curl_exec($curl);
curl_close($curl);

我收到这个错误。请帮助确定可能是哪里的错误。

将您的 post 字段的数组包裹起来,以确保您正在进行编码(以防特殊字符)。

CURLOPT_POSTFIELDS => http_build_query (array(
...
))

尝试在授权 header 之间放置一个 space。标准一使用Authorization: Basic

如果仍然看到错误,请对您的 curl 请求使用 VERBOSE 模式。并使用详细输出更新您的问题,以便我们可以帮助您。