Skip to content
No description or website provided.
Ruby
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
LICENSE
README.md
google_calendar_oauth2.gemspec

README.md

Taken from https://github.com/unixcharles/google_calendar_api_v2 and modified for OAuth2

All you need to survive a syncronization project with Google Calendar using GData 3.0 + OAuth 2.0

Usage

Create an application.rb file and put the following in it.

require 'sinatra'
require 'rubygems'
require 'google_calendar_oauth2'

client = GoogleCalendar::Client.new "google_client_id", "google_client_secret", "http://localhost:4567/oauth2callback"

before do
  unless GoogleCalendar.connection.authorization.access_token || request.path_info =~ /^\/oauth2/
    redirect client.redirect_to
  end 
end

get '/oauth2callback' do
  GoogleCalendar.connection.authorization.code = params['code']
  GoogleCalendar.connection.authorization.fetch_access_token!
  redirect '/create_event'
end

Create your Gemfile with the following.

source 'http://rubygems.org'

gem 'sinatra'
gem 'google_calendar_oauth2'

Finally, run

bundle exec ruby application.rb

In your application directory and go to http://localhost:4567/

Calendar

Find a Calendar

calendar = GoogleCalendar::Calendar.find_by_name('Calendar Name')

List your Calendars

calendars = GoogleCalendar::Calendar.list

Create a Calendar

calendar = GoogleCalendar::Calendar.create({'summary' => 'New Calendar', 'timeZone' => 'America/Chicago'})

Event

Find an event

GoogleCalendar::Event.find_by_name(calendar.id, 'some event name')

List events for a calendar

events = GoogleCalendar::Event.list(calendar.id)

Create an event

GoogleCalendar::Event.create({'summary' => 'Some cool event everyone wants to go to.', 'start' => {'dateTime' => '2012-01-29T12:00:00-06:00'}, 'end' => 'dateTime' => '2012-01-29T13:00:00-06:00'})
Something went wrong with that request. Please try again.