谷歌日历 Ruby API

3
我正在开发一个需要更新 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

我想给出一些建议,希望能有所帮助。请尝试并告知我们是否有效。

:body包装成数组:

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

或者使用:body_object代替body,不要将event哈希值转换为json格式:

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,你就会理解我是如何得出这些建议的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接