gem install google_oauth
Before you begin you will need a client_id
and client_secret
for your application from Google. You can create one
from the Google API Console - ensure you click on API Access and create an OAuth2 client ID.
With your Client ID credentials you can now initialize the client:
client = GoogleOAuth::Client.new(
:client_id => 'YOUR_CLIENT_ID',
:client_secret => 'YOUR_CLIENT_SECRET',
:redirect => 'YOUR_REDIRECT_URI',
)
redirect_to client.authorization_url
At this point the client is redirected to the Google login page. If they authorize your application then Google will return to your
redirect URL with a code
parameter.
token = client.authorize(:code => params[:code])
You now have a valid token that you can store for future requests. You can initialize the client with this token if you already have it:
client = GoogleOAuth::Client.new(
:client_id => 'YOUR_CLIENT_ID',
:client_secret => 'YOUR_CLIENT_SECRET',
:token => 'USER_TOKEN'
)
The Google Calendar API supports the jsonc format. Check out the Google Documentation to see what properties are available.
Here is an example that gets the users first calendar and loops over all the events:
calendar = client.own_calendars.items.first
client.events(calendar.eventFeedLink).items.each do |event|
puts event.title
end