2016-10-20 3 views
1

を取得します。以下の完全な回答をご覧ください。セイバーによる無アクセス権限にIセイバー取得ホテルの画像API</p> <p>request.Authorizationが失敗した際、私は次のような応答を取得していますとの問題を抱えているホテル画像API

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" } 

次のコードは何ですか?

<?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)); 

?> 

答えて

0

サービスのように見えます。 API仕様ページより:

"注:このサービスは現在、一部の地域(アメリカおよびEMEA)でのみ使用でき、有効化が必要です。セイバーアカウント担当者にお問い合わせください。

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

あなたは、私はそれらをご連絡いたしますhttps://developer.sabre.com/contactまたは[email protected]

+0

感謝を経由して、テストのための活性化を要求することができます。 –

関連する問題