我正在尝试使用gist API作为一个特别的diff工具。为此,我想将一些文本上传到gist,然后更新它并查看diff。出于某种原因,我得到了"{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3\"}"的结果。这有点令人困惑,因为当我查看url时,我可以看到GIST很好。
我的代码如下
uri = URI("https://api.github.com/gists")
first_payload = {
'description' => "My test gist",
'public' => true,
'files' => {
'change.yml' => {
'content' => "before"
}
}
}
req = Net::HTTP::Post.new(uri.path)
req.body = first_payload.to_json
req.basic_auth("username", "password")
res = Net::HTTP.start(uri.hostname, uri.port, :use_ssl => true) do |http|
http.request(req)
end
second_uri = URI(JSON.parse(res.body)["url"])
second_payload = {
'description' => "My test gist",
'public' => true,
'files' => {
'change.yml' => {
'content' => ':after'
}
}
}
second_req = Net::HTTP::Put.new(second_uri.path)
second_req.body = second_payload.to_json
second_req.basic_auth("username", "password")
second_res = Net::HTTP.start(second_uri.hostname, second_uri.port, :use_ssl => true) do |http|
http.request(second_req)
endhttps://stackoverflow.com/questions/41312482
复制相似问题