Google Calendar Ruby API - PullRequest
       22

Google Calendar Ruby API

3 голосов
/ 20 декабря 2011

Я работаю над приложением, которое нуждается в обновлении календаря Google.

Следуя Руководству для разработчиков Календаря Google по адресу:

http://code.google.com/apis/calendar/v3/using.html#creating_events

event = {
  'summary' => 'Appointment',
  'location' => 'Somewhere',
  'start' => {
     'dateTime' => '2011-06-03T10:00:00.000-07:00'
  },
  'end' => {
     'dateTime' => '2011-06-03T10:25:00.000-07:00'
  }
}
result = client.execute(:api_method => service.events.insert,
                    :parameters => {'calendarId' => 'primary'},
                    :body => JSON.dump(event),
                    :headers => {'Content-Type' => 'application/json'})

Я получаю следующую ошибку:

TypeError (Expected body to respond to :each.):

Я также пытался создать event.to_json.

1 Ответ

5 голосов
/ 20 декабря 2011

Всего лишь пара советов от моей головы, которые могут помочь.Пожалуйста, попробуйте их и сообщите нам, если это поможет.

Оберните :body в массив:

result = client.execute(:api_method => service.events.insert,
                    :parameters => {'calendarId' => 'primary'},
                    :body => [JSON.dump(event)],
                    :headers => {'Content-Type' => 'application/json'})

Или используйте :body_object вместо body, и не jsonify eventхэш:

result = client.execute(:api_method => service.events.insert,
                    :parameters => {'calendarId' => 'primary'},
                    :body_object => event,
                    :headers => {'Content-Type' => 'application/json'})

Взгляните на http://code.google.com/p/google-api-ruby-client/source/browse/lib/google/api_client/reference.rb,, и вы поймете, как я пришел к этим предложениям.

...