2015-06-08 2 views
0

Я получаю следующую ошибку при обращении к API календаря Google.Как отформатировать запрос API Google Calender с использованием HTTParty

{"error"=>{"errors"=>[{"domain"=>"global", "reason"=>"required", "message"=>"Missing end time."}], "code"=>400, "message"=>"Missing end time."}} 

Что не так с моим форматированием? Я пробовал тонну разных макетов и, похоже, не нашел много информации об использовании HTTParty для запроса в Google API.

results = HTTParty.post("https://www.googleapis.com/calendar/v3/calendars/primary/events?key=#{Rails.application.secrets.google_api_key}", 
    :headers => { 
    "Authorization" => "Bearer #{response["access_token"]}" 
    }, 
    :query => { 
    "end": { 
     "dateTime" => "2015-05-29T09:00:00-08:00", 
     "timeZone" => "America/Los_Angeles" 
    }, 
    "start": { 
     "dateTime" => "2015-05-29T09:00:00-07:00", 
     "timeZone" => "America/Los_Angeles" 
    }, 
    "summary": "TEST POST" 
    } 
) 

Заранее благодарен!

+0

Вы пытаетесь добавить события за предыдущий месяц? Вы можете добавлять только будущие события, а не прошлые. Попробуйте изменить даты. вы можете попробовать образец запроса здесь https://developers.google.com/google-apps/calendar/v3/reference/events/insert – SGC

+0

Спасибо, мне удалось заставить его работать. Оказывается, я должен отправлять: body key вместо ключа: query. Также заголовок должен указать, что формат JSON. – polskais1

ответ

1

Выяснил это. Мне нужно было использовать ключ :body, а также указать JSON в заголовке

results = HTTParty.post("https://www.googleapis.com/calendar/v3/calendars/primary/events?key=#{Rails.application.secrets.google_api_key}", 
    :headers => { 
    "Authorization" => "Bearer #{response["access_token"]}", 
    "Content-Type" => "application/json" 
    }, 
    :body => { 
    "end": { 
     "dateTime" => "2015-05-29T09:00:00-08:00", 
     "timeZone" => "America/Los_Angeles" 
    }, 
    "start": { 
     "dateTime" => "2015-05-29T09:00:00-07:00", 
     "timeZone" => "America/Los_Angeles" 
    }, 
    "summary": "TEST POST" 
    } 
) 
Смежные вопросы