2016-10-20 7 views
1

Ich habe ein Problem mit dem API bekommen Hotel Bild Saber MitSaber bekommen Hotel Bild API

Ich erhalte die folgende Antwort, wenn ein request.Authorization fehlgeschlagen, da keine Zugriffsrechte zu machen. Bitte lesen Sie die vollständige Antwort unten.

array(5) { ["status"]=> string(12) "NotProcessed" ["type"]=> string(10) "Validation" ["errorCode"]=> string(26) "ERR.2SG.SEC.NOT_AUTHORIZED" ["timeStamp"]=> string(29) "2016-10-20T04:28:54.500-05:00" ["message"]=> string(48) "Authorization failed due to no access privileges" } 

Das folgende ist mein Code, was ist das Problem?

<?php 

// get access token 
$client_id= base64_encode("V1:user:group:AA"); 
$client_secret = base64_encode("my_password"); 
$token = base64_encode($client_id.":".$client_secret); 

$data='grant_type=client_credentials'; 


    $headers = array(
     'Authorization: Basic '.$token, 
     'Accept: */*', 
     'Content-Type: application/x-www-form-urlencoded' 
    ); 

    $ch = curl_init(); 
    curl_setopt($ch,CURLOPT_URL,"https://api.sabre.com/v2/auth/token"); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
    curl_setopt($ch,CURLOPT_POST,1); 
    curl_setopt($ch,CURLOPT_POSTFIELDS,$data); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $res = curl_exec($ch); 
    curl_close($ch); 
    $resf = json_decode($res,1); 
    $access_token = $resf['access_token']; // token provided from sabre 
    $token_type = $resf['token_type']; 
    $expires_in_seconds = $resf['expires_in']; 

    // // END get access token 

    // now to get api data using the provided access token 
    $url = 'https://api.sabre.com/v1.0.0/shop/hotels/image?mode=image'; 
    $headers2 = array(
    'Authorization: bearer '.$access_token, 
    'protocol: HTTP 1.1 ', 
    "Content-Type: application/json" 
    ); 

$postData ='{ 
"GetHotelImageRQ": { 
"HotelRefs": { 
    "HotelRef": [ 
    { 
     "HotelCode": "1276", 
     "CodeContext": "Sabre" 
    } 
    ] 
}, 
"ImageRef": { 
    "Type": "THUMBNAIL", 
    "CategoryCode": 3, 
    "LanguageCode": "EN" 
} 
} 
}'; 

$ch2 = curl_init(); 


curl_setopt($ch2,CURLOPT_HTTPHEADER,$headers2); 
curl_setopt($ch2, CURLOPT_URL, $url); 
curl_setopt($ch2, CURLOPT_POST, TRUE); 
curl_setopt($ch2, CURLOPT_POSTFIELDS, $postData); 
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1); 
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 

var_dump($results = json_decode(curl_exec($ch2),true)); 

?> 

Antwort

0

Scheint so, als ob der Dienst aktiviert werden muss. Von der API-Spezifikationen Seite:

. „Anmerkung:. Dieser Dienst in bestimmten Regionen nur noch verfügbar ist (Nord- und Südamerika und EMEA) und erfordert die Aktivierung Bitte kontaktieren Sie Ihren Sabre Kundenbetreuer“

https://developer.sabre.com/docs/read/rest_apis/hotel/search/get_hotel_image

können Sie verlangen Aktivierung für die Prüfung über https://developer.sabre.com/contact oder [email protected]

+0

Dank ich ihnen in Kontakt kommt. –

Verwandte Themen