2011-12-19 192 views
3

我正在研究需要更新Google日曆的應用程序。Google Calendar Ruby API

通過在下面的谷歌日曆開發指南:

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爲好。

回答

5

只是從我的頭頂可以幫助一些建議。請嘗試它們,並告知我們這些幫助。

:body到數組:

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

或者使用:body_object,而不是身體,不要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看看,你就會明白我如何提出這些建議。

+0

這兩個建議的工作。謝謝。 – y4ku 2011-12-20 15:15:56