PHP Curl测试Sabre RESTful API身份验证失败

时间:2016-03-10 07:20:56

标签: php rest curl sabre

我已经设法愉快地连接到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它表示标题应为

  

授权:持票人{您的令牌}

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

我是个白痴。我没有销毁我以前的$ header var。

相关问题