Мне удалось успешно подключиться к RESTful API от Sabre и получить токен аутентификации с моим тестовым ключом / секретом. Тем не менее, следующий шаг, с которым я борюсь — я новичок, чтобы свернуться, чтобы простить мое невежество. Может кто-нибудь сказать мне, где я иду не так?
$ key — мой маркер аутентификации, созданный Sabre
$url = "https://api.test.sabre.com/v2/shop/flights/fares?origin=ATL&destination=LAS&departuredate=2016-06-30&lengthofstay=3,4,5,6,7&maxfare=250";
$header[] = "Authorization: Bearer " . $key;
$header[] = "Accept: application/json";
//should use http 1.1 by default
//uses GET by default
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($content));
Я думал, что это может быть неправильный URL. У меня нет производственного API-ключа, только тестовый. Однако изменение URL-адреса на рабочий URL-адрес (удаление test.) Не имеет значения.
Вот ошибка от сабер
object(stdClass)[2]
public 'status' => string 'NotProcessed' (length=12)
public 'type' => string 'Validation' (length=10)
public 'errorCode' => string 'ERR.2SG.SEC.MISSING_CREDENTIALS' (length=31)
public 'timeStamp' => string '2016-03-10T01:17:19.556-06:00' (length=29)
public 'message' => string 'Authentication data is missing' (length=30)`
Я как-то испортил свой заголовок?
На шаге 4 этого: https://developer.sabre.com/docs/read/rest_basics/authentication он говорит, что заголовок должен быть
Авторизация: Носитель {ваш токен}
Ваша помощь ценится!
Я идиот. Я не уничтожил свой предыдущий $ header Var.
Других решений пока нет …