2012-02-19 4 views
1

Мне удалось заставить Фарадея сделать запрос POST в Google Calander из файла .rb. Я хотел бы использовать эту функцию в своем приложении, чтобы проверять ответы Free/Busy на календари, прежде чем отображать список доступных временных интервалов для моего пользователя после выбора даты.Включение запроса POST-запроса Faraday с приложением Rails. AJAX лучше всего?

response = Faraday.post do |req| 
req.url 'https://www.googleapis.com/calendar/v3/freeBusy?key=myapikey' 
req.headers['Content-Type'] = 'application/json' 
req.body = '{ "items": [ { "id": mycalendar } ], "timeMin": "2011-02-14T00:09:35Z", "timeMax": "2011-02-14T00:09:40Z" }' 
end 

ли лучше поставить функцию в модели назначений, а затем вызов AJAX, когда пользователь выбирает дату? Или мне было бы лучше предварительно кэшировать все это в локальной таблице?

Спасибо за помощь!

ответ

1

Первая попытка:

require 'faraday' 

class Booking < ActiveRecord::Base 

def checktime(calid) 

    response = Faraday.post do |req| 
    req.url 'https://www.googleapis.com/calendar/v3/freeBusy?key=AIzaSyBsObpXXF6DQoZWj2U9QxoEQ4vdZ6GvNfI' 
    req.headers['Content-Type'] = 'application/json' 
    req.body = "{ 'items': [ { 'id': '#{calid}' } ], 'timeMin': '2012-02-19T19:35:00Z', 'timeMax': '2012-02-19T19:40:00Z' }" 
    end 

response_json = JSON.parse response.body 

if response_json["calendars"]["busy"] == nil 
    return true 
else 
    return false 
end 

end