谷歌QPXAPI贴子,带JSON返回;HTTP/1.1 403禁止;关于Groovy
我无法在groovy中使用GoogleRESTAPI 我是groovy:S的新手,我正在使用HTTPBuilder询问服务。我的代码是:谷歌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
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 = ...