2014-10-08 2 views
1

Запросы GET работают нормально.BaseCamp API Запрещено на PUT и POST с использованием заголовка авторизации маркера на предъявителя

Я использую OmniAuth-Basecamp и restclient:

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 

Удивление, если ответ должен быть плохим запросом, а не запрещенным.