2012-05-16 6 views
0

나는이 URL에서 GitHub의에 POST 요청을하고 있어요 :요점에 새 설명을 추가하는 Github API POST 요청을 어떻게 작성합니까?

https://api.github.com/gists/2710948/comments

는 이론적으로,이 텍스트에 코멘트를 작성해야는 요청 본문에 무엇이에서 형성된다. 그러나 그 게시물을 만들려고하면 404 오류가 발생합니다. 그게 요점이 발견되지 않는다고 믿게하지만, 같은 주소에서 Get 요청을한다면 괜찮습니다.

내가해야 할 인증 기능이 있습니까? 내 헤더 컬렉션에 사용자 이름과 암호를 추가하려고했지만 올바른 형식을 사용하고 있는지 잘 모르겠습니다. Ruby, HTTP 클라이언트 및 컬을 통해이 작업을 시도했는데 같은 오류가 발생합니다.

내가 사용하고 컬 명령은 이것이다 :

나는 컬 명령 작업을 얻을 수 있다면, 나는 HTTP 클라이언트를 알아낼 수 있다고 생각

curl -X POST -d "This is my sample comment" https://api.github.com/gists/2710948/comments

다음 루비 . 이것은 API를 소비하는 첫 번째 시도가 될 것이므로 두 가지를 확인하기에는 너무 기본적인 것이 아닙니다. 모든 제안이 도움이 될 것입니다.

+0

를 참조하십시오 . –

답변

4
curl -d '{ "body": "Test comment" }' -u "Username:Pass" -X POST https://api.github.com/gists/2710948/comments 

루비 코드 : http://webapps.stackexchange.com/하지만 같은 플래그를 나에게 그것을 유래 못하게 :

require 'net/http' 

uri = URI("https://api.github.com/gists/2710948/comments") 
req = Net::HTTP::Post.new(uri.to_s) 
req.basic_auth("Username", "Pass") 
req.body = '{"body": "Test message"}' # `to_json` can be used 
req["content-type"] = "application/json" 
Net::HTTP.start(uri.host, uri.port, :use_ssl => true) do |http| 
    p response = http.request(req) 
end 

이 아마 여기에 속한다 또한 http://developer.github.com/v3/gists/comments/

+0

이것은 트릭을 했어. 괜찮아. 나는 basic_auth 키가 무엇을 설정하는지에 대해 약간 혼란 스럽다 - 몸과 같은 특별한 필드가 있는가? 아니면 다른 매개 변수를 설정하는 것입니까? –

+1

'basic_auth'는'Authorization' 헤더를 요청에 추가합니다 :'Authorization : Basic VXNlcm5hbWU6UGFzcw ==' 'req.body'는 POST 요청 본문을 설정합니다. 이 경우 데이터는 JSON 형식이어야하며 'body'키 (주석 텍스트) – Panic

관련 문제