Dashing widget to display the next and some subsequent Google Calendar events using the Google Calendar API v3.
I use this widget to display my shift calendar - see the screenshot below
This widget works with API v3 and requires a service account to be set up via the Google Developer's Console. Once a project is set up, enable the Calendar API. On the Credentials page create a new OpenID and download the p12 key file - set up the path to this file in the job file and grant the email address access to the relevant calendar.
The job file defines how many events to get from the calendar and when to start the search. My version gets the next 6 events.
Add to Gemfile:
gem 'google-api-client', '>= 0.8'
Run
bundle install
Download the Moment javascript library and add to your javascript assets. Add #= require moment.js
to the application.coffee script. You can also use moment.min.js
if you've downloaded that.
I modified to view single event first and all day event later which is based on @peckeltw code. Because I noticed that the start and end date of all day event is not the same, I changed the end date of all day event to the previous date like this.
event.end.date = (Date.parse(event.end.date)-1).to_s
Now, the end date of all day event will be like this:
Full code is below: