我已经设法愉快地连接到Sabre的RESTful API并使用我的测试密钥/秘密获取我的身份验证令牌。然而,我正在努力的下一步 - 我是新的 - 卷曲所以请原谅我的无知。有人能告诉我哪里出错了吗?
$ 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));
我认为这可能是错误的网址。我没有生产API密钥,只是一个测试密钥。但是,将URL更改为生产URL(删除测试。)并没有什么区别。
以下是Sabre的错误
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它表示标题应为
授权:持票人{您的令牌}
感谢您的帮助!
答案 0 :(得分:2)