Я настроил соединение API для получения данных о продукте, которое работает нормально, но я борюсь с токеном acces, срок действия которого истекает каждые 1800 секунд c:
Итак, у меня есть refre sh. php файл для запроса нового токена доступа с использованием refre sh токен + секрет клиента и идентификатор
<?php
$url = 'https://cloud.lightspeedapp.com/oauth/access_token.php';
$postfields = array(
'refresh_token' => 'xxxxxxxxxxx',
'client_secret' => 'xxxxxxxxxxxxx',
'client_id' => 'xxxxxxxxxxxxx',
'grant_type' => 'refresh_token'
);
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL, $url);
curl_setopt($curl,CURLOPT_POST, sizeof($postfields));
curl_setopt($curl,CURLOPT_POSTFIELDS, $postfields);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo 'cURL Error #:' . $err;
} else {
echo $response;
}
?>
Это работает и дает мне новый токен доступа, когда предыдущий срок действия истек, вот результат:
{"access_token": "xxxxxxxxx", "expires_in": 584, "token_type": "bearer", "scope": "employee: all", "refresh_token": "xxxxxxxxxxxxxxxx"} 1
У меня есть еще один php файл test. php для получения данных из api, который также работает, но я вручную поместил токен доступа в file
<?php
$authorization = "Authorization: Bearer MANUALLYINPUTTEDHEREXXXXXXXXX";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/xml' , $authorization ));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,'https://api.lightspeedapp.com/API/Account/XXXXX/Item?load_relations=all');
$content = curl_exec($ch);
echo $content;
?>
Мой вопрос: как я могу повторить значение acces_token из ответа на refre sh. php в тесте. php?