2010-03-29 4 views
0

지금 이틀 동안보고 있었는데 해결책을 찾지 못했습니다. OAuth-Ruby를 사용하여 파일을 업로드하는 방법이 있습니까?루비 Oauth 파일 업로드/Multipart POST 요청

나는 자원을 oauth로 보호하는 REST 시스템으로 작업하고 있습니다. Ruby와 oauth-ruby를 사용하여 시스템에 테스트 데이터를 쉽게 업로드 할 수 있도록 테스트 도구를 구축하고 있습니다. 하지만 리소스에 파일을 업로드 할 수는 없습니다.

정상 요청을 보내면 매개 변수가 서명이 유효하지 않으므로 모든 것이 작동하지만 파일을 추가하는 중입니다.

예 :

@access_token.post("http://.../imageresource", {:name=>"awesome cat"}, {'Content-Type' => 'multipart/form-data'}) 

작동하지만 저를 제공합니다

<error> 
    <message>images/POST: Request has no file data</message> 
</error> 

내가 게시물에 파일을 추가하는 방법을 잘 모르겠습니다.

이 문제에 대한 의견이 있으십니까?

감사합니다,

+0

@ the-elite-gentleman Oauth는 인증이 아닌 인증에 사용됩니다. oauth.net에서 - "데스크톱 및 웹 응용 프로그램에서 간단하고 표준적인 방법으로 안전한 API 인증을 허용하는 공개 프로토콜." 나는 –

+0

을 명확히하기 위해 질문을 업데이트했습니다 ... 죄송합니다. 인증과 승인을 혼동하는 경향이 있습니다. –

+0

죄송합니다. Ruby 사용자가 아니지만 POST 요청에 파일 데이터를 추가하고 있습니까? HTTP POST 요청을 확인하여 파일 데이터가 밋밋하고 Http 게시글에 전송되었는지 확인할 수 있습니까? (또는 명확하지 않은가요?) –

답변

0

이것은 어느 oauth 보석이나 대단히 어려운 함께 할 불가능합니다. 어쨌든, 나는 그 보석을 사용하여 그것을 할 어떤 방법을 모른다.

유효 멀티 파트 요청 본문을 구성하는 편리한 방법이있는 한 내 signet 보석으로 쉽게 수행 할 수 있습니다. 그러한 요청 본문의 구성은 OAuth gem의 범위를 벗어나지 만 대부분의 HTTP 클라이언트로 수행하기가 쉽습니다. httpadapter 보석은 signet이 서명 할 수있는 형식으로 요청을 번역 할 수 있습니다. 선호하는 HTTP 클라이언트가 httpadapter으로 지원되지 않는 경우 알려 주시면 즉시 해결하겠습니다.

fetch_protected_resource 방법에 대한 두 번째 예를 참조하여 이것이 어떻게 수행 될지 아이디어를 얻으십시오.

+0

안녕하세요 Bob! 소리 좋고 나는 그것을 들여다 볼 것이다. 나는 잠시 동안 Ruby와 Oauth와 함께 작업하지 않았기 때문에 나는 그것을 보면서 돌아 다니기까지 약간의 시간이 걸릴지 모르지만 여기서 읽을 수있는 것에서는 매우 흥미로운 것 같습니다. 다시 연락하겠다고 약속하십시오. (그리고 만약에 내가 몇주 안에 메시지를 보내지 않는다면 그것은 움직일 것입니다) –