谷歌QPXAPI贴子,带JSON返回;HTTP/1.1 403禁止;关于Groovy

谷歌QPXAPI贴子,带JSON返回;HTTP/1.1 403禁止;关于Groovy,json,groovy,httpbuilder,Json,Groovy,Httpbuilder,我无法在groovy中使用GoogleRESTAPI 我是groovy:S的新手,我正在使用HTTPBuilder询问服务。我的代码是: public static void testJSONPost() { def builder = new HTTPBuilder("https://www.googleapis.com/qpxExpress/v1/trips/search?key={$MY_WEB_KEY}") def result = builder.request(POST

我无法在groovy中使用GoogleRESTAPI

我是groovy:S的新手,我正在使用HTTPBuilder询问服务。我的代码是:

 public static void testJSONPost() {
 def builder = new HTTPBuilder("https://www.googleapis.com/qpxExpress/v1/trips/search?key={$MY_WEB_KEY}")
     def result = builder.request(POST, JSON) { req ->
      uri.query = ["request": ["passengers": ["adultCount": 1],"slice": [["origin": "BOS","destination": "LAX","date": "2015-05-13"],["origin": "LAX","destination": "BOS","date": "2015-05-23"]]]]
             response.success = {resp, json ->
                     println "JSON POST Success: ${resp.statusLine}"

                     return json.name
             }

             response.failure = {resp ->
                     println "JSON POST Failed: ${resp.statusLine}"
             }
     }
}

testJSONPost()
我尝试了curl示例,它成功了:

curl -d @reques.json --header "Content-Type: application/json" https://www.googleapis.com/qpxExpress/v1/trips/search?key=MY_WEB_KEY
“reques.json”的内容是:

我使用的密钥是web密钥


好吧,我会继续搜索和尝试。

在groovy代码中,您似乎在将映射添加到url,而不是在请求主体中发送它


要在groovy中添加到主体,请更改

uri.query = ... 
起首行

body = ... 

你有什么错误?我的密钥与我的WEB密钥相同吗?reques.json的内容是什么?@tim_yates感谢您的快速评论。我编辑了这个问题。错误是:403禁止我是新使用httpBuilder的我正在尝试查找错误消息,但我正在与之斗争…:SYour curl命令似乎没有执行POST afaict。你不需要一张X-POST吗?另外,在groovy代码中,您似乎将映射添加到url,而不是在请求体中发送它?目前不在计算机上进行验证,但:-(要在groovy中添加到body,请将您的
uri.query=…
行更改为
body=…
@tim_-yates哇,您真的成功了!您刚刚将
uri.query=…
更改为
body=…
成功了,谢谢!我试图添加作为答案,但我没有足够的声誉来回答或投票。没有担心…它允许你接受答案吗?不用担心:-)祝你好运!
body = ...