QPX Express API返回400解析错误

时间:2014-11-27 22:03:35

标签: json rest post http-post

我想要使用Google QPX Express API中的数据,并且我想尝试设置一个非常基本的请求。 在demopage [1]上,我复制了生成的JSON,如下所示:

{
  "request": {
    "slice": [
      {
        "origin": "ZRH",
        "destination": "DUS",
        "date": "2014-12-02"
      }
    ],
    "passengers": {
      "adultCount": 1,
      "infantInLapCount": 0,
      "infantInSeatCount": 0,
      "childCount": 0,
      "seniorCount": 0
    },
    "solutions": 20,
    "refundable": false
  }
}

根据在线手册[2],基本要求具有以下结构:

https://www.googleapis.com/qpxExpress/v1/trips/search?key=your_API_key_here

所以我使用我在谷歌开发者控制台中生成的API密钥插入了这段代码,但是重新

{
    "error": {
        "errors": [
            {
                "domain": "global",
                "reason": "parseError",
                "message": "Parse Error"
            }
        ],
        "code": 400,
        "message": "Parse Error"
    }
}

我的要求出了什么问题?

[1] https://qpx-express-demo.itasoftware.com/ [2] https://developers.google.com/qpx-express/v1/requests

2 个答案:

答案 0 :(得分:1)

事实证明,POSTMAN(REST API AddOn for Chrome)出了问题。 我尝试使用curl:

i)我将JSON保存到我的请求中,该文件名为" request.json":

{
  "request": {
    "slice": [
      {
        "origin": "ZRH",
        "destination": "DUS",
        "date": "2014-12-02"
      }
    ],
    "passengers": {
      "adultCount": 1,
      "infantInLapCount": 0,
      "infantInSeatCount": 0,
      "childCount": 0,
      "seniorCount": 0
    },
    "solutions": 20,
    "refundable": false
  }
}

ii)然后,在终端中,我切换到新创建的request.json文件所在的目录并运行(myApiKey显然代表我的实际API密钥):

curl -d @request.json --header "Content-Type: application/json" https://www.googleapis.com/qpxExpress/v1/trips/search?key=myApiKey

这对我有用。

答案 1 :(得分:1)

您需要为" Content-Type"指定一个值。请求中的HTTP标头。在你的情况下" application / json" :

Content-Type:application / json