2013-07-19 2 views
0

Я пытаюсь выполнить вызов PUT API-интерфейсов Google, используя Ruby и OAuth2 GEM. Мне удалось аутентифицировать ОК, и вызов GET работает правильно, но я не могу заставить вызов использовать метод PUT. Я думал, что следующее будет работать, так как OAuth2 использует Фарадей, но я просто продолжаю получать 400 сообщений обратно, с указанием того, что что-то не «требуется»:Попытка использования API-интерфейсов Google с использованием OAuth2 gem и Ruby

data = access_token.put('https://www.googleapis.com/groups/v1/groups/{email address}?alt=json').parsed do |request| 
    request.params['email'] = "{email address}" 
end 

Кто-нибудь есть рабочий пример передачи параметров в PUT запрос?

ответ

1

OK. Похоже, что «.parsed» вмешивался в вызов, вот что работает, с некоторыми дополнениями к объекту запроса:

response = access_token.put('https://www.googleapis.com/groups/v1/groups/{email address}') do |request| 
    request.headers['Content-Type'] = 'application/json' 
    request.body='{"email": "{email address}"}' 
end 
# check this 
puts response.status 
# works if it's 200