【发布时间】:2014-03-03 21:33:54
【问题描述】:
现在通过命令行运行,我得到了预期的 JSON 响应和成功的身份验证。 但是通过浏览器,我得到了错误。 编辑我能够进行身份验证并获取代码。如果我输入代码而不是变量,我可以从命令行获得响应。
也已经过测试并且能够为实际字符串分出变量,并且仍然通过命令行而不是浏览器进行身份验证。
function tokenRequest($clientId, $clientSecret, $code){
$url = 'https://www.strava.com/oauth/token?';
$oauthFields = array(
'client_id' => $clientId,
'client_secret' => $clientSecret,
'code' => $code);
$parameters = '&' . http_build_query($oauthFields);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url.$parameters);
curl_setopt($ch, CURLOPT_POST, count($oauthFieldsObject));
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');
$urlResponse = curl_exec($ch);
curl_close($ch);
return (json_decode($urlResponse));
}
预期是 json 响应,但在我的主页上我对其进行了解码,但没有显示任何内容。下面是尝试显示 json 数据的代码。
$token = tokenRequest($client_id, $client_secret, $codeUrl);
echo $token;
var_dump($token);
【问题讨论】: