2016-11-11 91 views
1

我已經搜索到了很多。我不是一個JSON基金會,所以請儘可能幫助。QPX Express API 400錯誤 - 輸入無效:收到空請求

我正在使用Coldfusion的QPX API並試圖做一個簡單的請求並返回結果。

我至今如下:

<cfset qpxFields =' 
{ 
    "request": { 
    "passengers": { 
     "adultCount": "1" 
    }, 
    "slice": [ 
     { 
     "origin": "SFO", 
     "destination": "LAX", 
     "date": "2014-09-19" 
     } 
    ], 
    "solutions": "1" 
    } 
}'> 



<cfhttp url="https://www.googleapis.com/qpxExpress/v1/trips/search?key=YOUR_KEY" method="post" result="httpResp" timeout="60"> 
    <cfhttpparam type="header" name="Content-Type" value="application/json" /> 
    <cfhttpparam type="body" value="#serializeJSON(qpxFields)#"> 
</cfhttp> 

<cfoutput> 
#httpResp.FileContent# 
</cfoutput> 

我收到以下錯誤:

{ "error": { "errors": [ { "domain": "global", "reason": "badRequest", "message": "Invalid inputs: received empty request." } ], "code": 400, "message": "Invalid inputs: received empty request." } } 

如果我輸出變量qpxFields我得到:

{ "request": { "passengers": { "adultCount": "1" }, "slice": [ { "origin": "SFO", "destination": "LAX", "date": "2014-09-19" } ], "solutions": "1" } } 

回答

0

發現問題。變量qpxFields不應該在引號中。

<cfset qpxFields = { 
    "request": { 
    "passengers": { 
     "adultCount": "1" 
    }, 
    "slice": [ 
     { 
     "origin": "SFO", 
     "destination": "LAX", 
     "date": "2014-09-19" 
     } 
    ], 
    "solutions": "1" 
    } 
} /> 



<cfhttp url="https://www.googleapis.com/qpxExpress/v1/trips/search?key=YOUR_KEY" method="post" result="httpResp" timeout="60"> 
    <cfhttpparam type="header" name="Content-Type" value="application/json" /> 
    <cfhttpparam type="body" value="#serializeJSON(qpxFields)#"> 
</cfhttp> 

<cfoutput> 
#httpResp.FileContent# 
</cfoutput>