y4k*_*4ku 3 ruby google-api oauth-2.0 ruby-on-rails-3.1
我正在开发一款需要更新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'})
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
TypeError (Expected body to respond to :each.):
Run Code Online (Sandbox Code Playgroud)
我也试过做event.to_json.
只是从我的头顶可能有所帮助的几个建议.如果这些有帮助,请尝试并通知我们.
裹:body成数组:
result = client.execute(:api_method => service.events.insert,
:parameters => {'calendarId' => 'primary'},
:body => [JSON.dump(event)],
:headers => {'Content-Type' => 'application/json'})
Run Code Online (Sandbox Code Playgroud)
或者使用:body_object而不是body,并且不要对event哈希进行jsonify :
result = client.execute(:api_method => service.events.insert,
:parameters => {'calendarId' => 'primary'},
:body_object => event,
:headers => {'Content-Type' => 'application/json'})
Run Code Online (Sandbox Code Playgroud)
请查看http://code.google.com/p/google-api-ruby-client/source/browse/lib/google/api_client/reference.rb,您就会明白我是如何提出这些建议的.