Реализация API Amadeus Flight с использованием curl - PullRequest
0 голосов
/ 12 декабря 2018

Я хочу использовать Amadeus Flight API, используя curl.Так что помогите мне реализовать API, используя ядро ​​PHP.Если бы вы могли предоставить мне все три примера (get, post, put, delete) rest api в php, это было бы здорово.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Мой работодатель (dahabtours GmbH) согласился выпустить наш класс-оболочку API для того, чтобы что-то вернуть сообществу с открытым исходным кодом, поскольку пока нет официального PHP SDK.Это значительно упрощает использование API самообслуживания в PHP.

https://github.com/dahabtours/amadeus-php-sdk

$amadeus_api = new AmadeusDahabtours\SelfServiceApiClient({CLIENT_ID}, {CLIENT_SECRET});

$amadeus_results = $amadeus_api->lowFares([
    'origin'        => 'FRA',
    'destination'   => 'CAI',
    'departureDate' => '2019-07-15',
]);
0 голосов
/ 12 декабря 2018

Это пример php с curl, выполняющим авторизацию (так что POST).Чтобы получить API-ключ и API-секрет * , вы должны следовать Руководству по началу работы

$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=API_KEY&client_secret=API_SECRET');
curl_setopt($curls, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
$token = curl_exec($curls);
curl_close($curls);
print_r ($token);

Вам потребуется получить access_tokenиз предыдущего вызова, чтобы добавить его в заголовок следующего.Это пример вызова API Flight Inspiration (не забудьте заменить access_token ):

$url = 'https://test.api.amadeus.com/v1/shopping/flight-destinations?origin=MAD';
$curls = curl_init();
curl_setopt($curls, CURLOPT_URL, $url);

curl_setopt($curls, CURLOPT_HTTPHEADER, array('Authorization: Bearer access_token'));
$result = curl_exec($curls);
    if (curl_errno($curls)) {
        echo 'Error:' . curl_error($curls);
    }
print_r ($result);
curl_close ($curls);

Если вам нужно больше примеров, вы можете посмотреть на Коллекция почтальонов , переключите язык на PHP и получите примеры на правой панели (не забудьте добавить заголовок):

CURLOPT_HTTPHEADER => array ('Authorization: Bearer access_token')

...