2014-10-08 7 views
1

GET 요청이 정상적으로 작동합니다. 내가 omniauth -베이스 캠프 및 위해 RESTClient 사용하고BaseCamp API 베어러 토큰 권한 부여 헤더를 사용하여 PUT 및 POST에서 금지됨

:

resource = RestClient::Resource.new(
    'https://basecamp.com/27xxxxx/api/v1', 
    headers: { 
    user_agent: 'MyApp ([email protected]', 
    authorization: "Bearer #{my_token}", 
    content_type: "application/json" 
    } 
) 

resource['/projects/7213xxx/todos/129851xxx.json'].get # => 200 OK 
resource['/projects/7213xxx/todos/129851xxx.json'].put(content: 'Hello!') # => 403 FORBIDDEN 

답변

0

문제는이 형태로 인코딩 된 있도록 페이로드는 JSON으로 직렬화되지 않았 음을이었다.

payload = {content: 'Hello!!'}.to_json 
    resource['/projects/7213xxx/todos/129851xxx.json'].put(payload) # => 200 OK 

응답이 금지 된 대신 잘못된 요청이어야하는 경우 궁금합니다.