用Ruby写一个curl Post调用

时间:2013-04-30 18:12:03

标签: ruby-on-rails ruby http github github-api

如果我使用curl命令向github api发出POST请求以添加“已解决”标签;事情很好。

curl -i -H "Authorization: token xxxxxxxxxxxx" -X POST 'https://git.corp.yahoo.com/api/v3/repos/owner/repo/issues/1/labels' -d '["Resolved"]'}

但是当我尝试在我的Ruby脚本中使用Curl easy时也这样做

 set gh_api = https://git.corp.yahoo.com/api/v3/repos/owner/repo/issues/1/labels
 curl = Curl::Easy.http_post(settings.gh_api,'["Resolved"]') 
 do |c|
    c.headers = ["Authorization: token xxxxxxxx"]
 end

我得到的JSON响应是

"{\"message\":\"Not Found\"}"

我的红宝石脚本出了什么问题?

2 个答案:

答案 0 :(得分:0)

你问的是什么问题一点也不清楚,因为毫无疑问。

返回的是JSON响应。为什么不用JSON类解析它并查看它返回的内容:

require 'json'

puts JSON["{\"message\":\"Not Found\"}"]
=> {"message"=>"Not Found"}

如果响应“未找到”,我猜测问题出在URL的路径中。

答案 1 :(得分:0)

我的网址错了。我用'/'。

结束了网址