我目前正在创建一个旅行社网站,我使用 Amadeus 搜索低价票价等,但每次访问令牌都会在 30 分钟内过期。我得到状态 401(访问令牌已过期)。并通过他们的网站反复请求另一个访问令牌并将其粘贴到我的代码中。请问,是否有解决方案可以自动更改我的代码中的访问令牌
我目前使用此代码来请求访问代码
**
$url = "https://test.api.amadeus.com/v1/security/oauth2/token";
$curls = curl_init();
curl_setopt($curls, CURLOPT_URL, $url);
curl_setopt($curls, CURLOPT_POST, true);
curl_setopt($curls, CURLOPT_POSTFIELDS, 'grant_type=client_credentials&client_id={apikey}&client_secret={apisecret}');
curl_setopt($curls, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
$token = curl_exec($curls);
curl_close($curls);
$tokenresult = json_decode($token,true);
print_r ($tokenresult);
**
但每次我刷新我的网站时,它也会显示
"type": "amadeusOAuth2Token",
"username": "",
"application_name": "Thesis",
"client_id": "",
"token_type": "Bearer",
"access_token": "*****",
"expires_in": 1799,
"state": "approved",
"scope": ""
这很烦人。
这是我使用 access_token 的代码
$ch = curl_init("https://test.api.amadeus.com/v1/shopping/flight-offers?origin=$client_flyingfrom&destination=$client_flyingto&departureDate=$client_departing&returnDate=$client_returning&nonStop=false¤cy=PHP&max=2");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Authorization: Bearer *****'
));
$data = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
$json = json_decode($data,true);
print_r($json);
你能帮助我吗?有没有办法自动更改我的访问令牌,而无需在我的代码中复制和粘贴新的访问令牌?非常感谢你们