第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在curl php中傳遞access_token時(shí)Amadeus Flight搜索API出現(xiàn)錯(cuò)誤

在curl php中傳遞access_token時(shí)Amadeus Flight搜索API出現(xiàn)錯(cuò)誤

PHP
動(dòng)漫人物 2023-10-22 21:46:51
我正在集成 amadeus 航班搜索 api,但在使用 access_token 時(shí)出現(xiàn)錯(cuò)誤。我猜問(wèn)題出在檢索訪問(wèn)令牌?{ "errors": [ { "code": "38191", "title": "Invalid HTTP header", "detail": "Missing or invalid format for mandatory Authorization header", "status": "401" } ] }我需要獲取從出發(fā)地到目的地的所有航班及其價(jià)格詳細(xì)信息。$curls = curl_init();curl_setopt($curls, CURLOPT_URL, 'https://test.api.amadeus.com/v1/security/oauth2/token'); curl_setopt($curls, CURLOPT_POST, true);curl_setopt($curls, CURLOPT_POSTFIELDS, "grant_type=client_credentials&client_id=$secretid&client_secret=$secretkey");curl_setopt($curls, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));$token = curl_exec($curls);$data = json_decode($token,true);curl_setopt($curls, CURLOPT_URL, 'https://test.api.amadeus.com/v2/shopping/flight-offers?originLocationCode=SYD&destinationLocationCode=BKK&departureDate=2020-10-01&returnDate=2020-08-05&adults=2&includedAirlineCodes=TG&max=3');curl_setopt($curls, CURLOPT_HTTPHEADER, array('Authorization: Bearer' .$data['access_token']));$result = curl_exec($curls);    if (curl_errno($curls)) {        echo 'Error:' . curl_error($curls);    }//print_r ($result);curl_close ($curls);
查看完整描述

1 回答

?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊

我在您的代碼中發(fā)現(xiàn)了一些錯(cuò)誤并修復(fù)了它以使其正常工作:

  1. 對(duì)于您使用的 PHP 版本,您需要添加curl_setopt($curls, CURLOPT_RETURNTRANSFER, true);以確保它不僅打印 API 響應(yīng)而且還返回它

  2. 您需要在 Bearer 和訪問(wèn)令牌之間留一個(gè)空格:array('Authorization: Bearer ' .$data['access_token']));

  3. 您嘗試調(diào)用的示例是錯(cuò)誤的,返回日期早于出發(fā)日期。我將其更改為一個(gè)更簡(jiǎn)單的示例:https://test.api.amadeus.com/v2/shopping/flight-offers?originLocationCode=EWR&destinationLocationCode=MIA&departureDate=2020-09-10&returnDate=2020-09-17&adults=1&max=1

  4. 在進(jìn)行 API 調(diào)用之前,您需要將 更改CURLOPT_POST為 false (因?yàn)槟鷩L試調(diào)用的 API 是 a?GET

下面是完整的示例:

$curls = curl_init();

curl_setopt($curls, CURLOPT_URL, 'https://test.api.amadeus.com/v1/security/oauth2/token');

curl_setopt($curls, CURLOPT_POST, true);

curl_setopt($curls, CURLOPT_POSTFIELDS, "grant_type=client_credentials&client_id=$secretid&client_secret=$secretkey");

curl_setopt($curls, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));

curl_setopt($curls, CURLOPT_RETURNTRANSFER, true);

$token = curl_exec($curls);

$data = json_decode($token,true);


curl_setopt($curls, CURLOPT_URL, 'https://test.api.amadeus.com/v2/shopping/flight-offers?originLocationCode=EWR&destinationLocationCode=MIA&departureDate=2020-09-10&returnDate=2020-09-17&adults=1&max=1');

curl_setopt($curls, CURLOPT_POST, false);


curl_setopt($curls, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' .$data['access_token']));

$result = curl_exec($curls);

? ? if (curl_errno($curls)) {

? ? ? ? echo 'Error:' . curl_error($curls);

? ? }

print_r ($result);

curl_close ($curls);

注意:我不是 PHP 專家,我確信代碼可以改進(jìn)。


查看完整回答
反對(duì) 回復(fù) 2023-10-22
  • 1 回答
  • 0 關(guān)注
  • 250 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)