如何使用PHP通过授权码和客户端密码获取fortnox访问令牌?
我在fortnox中有一个沙盒帐户,我正在尝试使用以下代码获取访问令牌,但我一直收到相同的错误:如何使用PHP通过授权码和客户端密码获取fortnox访问令牌?,php,Php,我在fortnox中有一个沙盒帐户,我正在尝试使用以下代码获取访问令牌,但我一直收到相同的错误: $requestMethod = "GET"; $ch = curl_init(); $options = array( 'Authorization-Code: '. AUTHORIZATION_CODE .'', 'Client-Secret: '. CLIENT_SECRET .'', 'Content-Type: '. CONTENT_TYPE .'',
$requestMethod = "GET";
$ch = curl_init();
$options = array(
'Authorization-Code: '. AUTHORIZATION_CODE .'',
'Client-Secret: '. CLIENT_SECRET .'',
'Content-Type: '. CONTENT_TYPE .'',
'Accept: '. ACCEPTS .''
);
curl_setopt ($ch, CURLOPT_CAINFO, "/xampp/htdocs/cacert.pem");
curl_setopt($ch, CURLOPT_URL, "https://api.fortnox.se/3/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, $options);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $requestMethod);
$curlResponse = curl_exec($ch);
$info = curl_getinfo($ch);
//echo 'Took ' . $info['total_time'] . ' seconds for url ' . $info['url'];
echo $curlResponse;
if ($curlResponse === FALSE) {
echo "cURL Error: " . curl_error($ch);
}
curl_close($ch);
错误:PHP/4.5.37无法登录、访问令牌或客户端密码丢失(2000311)。我使用与您的代码非常接近的以下代码获取
访问令牌。这对我很管用
页面上描述了您的错误,但它不会向已显示的文本添加任何新内容
请注意,您只能检索一次访问令牌
,请查看Fortnox文档中的部分
每个授权码只能检索一次访问令牌,具有相同授权码的多个请求将使授权码和访问令牌无效
我使用与您的代码非常接近的以下代码获取访问令牌
。这对我很管用
页面上描述了您的错误,但它不会向已显示的文本添加任何新内容
请注意,您只能检索一次访问令牌
,请查看Fortnox文档中的部分
每个授权码只能检索一次访问令牌,具有相同授权码的多个请求将使授权码和访问令牌无效
public function actionRetrieveAccessToken($authCode, $clientSecret)
{
$headers = [
'Authorization-Code: ' . $authCode,
'Client-Secret: ' . $clientSecret,
'Content-Type: application/json',
'Accept: application/json',
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.fortnox.se/3/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$responseText = curl_exec($curl);
$response = json_decode($responseText, true);
if (isset($response['ErrorInformation'])) {
echo 'Request failed with error messages:' . PHP_EOL;
echo $response['ErrorInformation']['Error'] . ': ';
echo $response['ErrorInformation']['Message'];
echo ' (' . $response['ErrorInformation']['Code'] . ')' . PHP_EOL;
} else {
echo 'Access Token: ' . $response['Authorization']['AccessToken'] . PHP_EOL;
}
}