tatsuos
12/7/2015 - 9:16 AM

Google Calendar API - Events Delete

Google Calendar API - Events Delete

# カレンダー API のインスタンス化
service = client.discovered_api('calendar', 'v3')

# 今日から月末まで
today   = Date.today
today31 = Date.today + 31

# delete(削除)
p '削除'
# イベント一覧を取る(実行日から月末まで)
params = {}
params['calendarId'] = 'primary'
params['timeMin'] = Time.utc(today.year, today.month, today.day, 0).iso8601
params['timeMax'] = Time.utc(today31.year, today31.month, today31.day, 0).iso8601

# 取得したデータ分全て削除
events = client.execute(:api_method => service.events.list,:parameters => params)
while true
  events.data.items.each do |e|
    client.execute(:api_method => service.events.delete,
                   :parameters => {'calendarId' => 'primary', 'eventId' => e["id"]})
  end
  if !(page_token = events.data.next_page_token)
    break
  end
  params["pageToken"] = page_token
  events = client.execute(:api_method => service.events.list,:parameters => params)
end