Токен доступа в тестовом тестировании Amadeus установлен только на 30 минут?

Я в настоящее время создаю сайт туристического агентства, и я использую 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&currency=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);

Вы можете мне помочь? Есть ли способ автоматически изменить мой токен доступа без копирования и вставки новых токенов доступа в мои коды? большое спасибо, ребята

0

Решение

Вы можете найти руководство Вот помогая вам реализовать процесс авторизации oauth2.

Срок действия токена составляет 30 минут, но вы можете запросить новый токен в любое время (нет необходимости проходить через портал, у вас есть API для этого). Тот, что на портале, на самом деле существует только для того, чтобы позволить вам играть с API без написания кода.

Первый код, который вы опубликовали, реализует процесс oauth2 для получения access_token, вам просто нужно вызывать его каждые 30 минут, чтобы получить новый (или даже раньше — до вас).
От этого вызова вы сохраняете access_token и добавляете его в заголовок при следующих вызовах API (объяснение в руководстве).

Он печатает его на вашем сайте из-за этой строки

print_r ($ tokenresult)

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector