Experimental project

This is a sandbox project, which contains experimental code for developer use only.

This module uses Google OAuth2 Service Account to authenticate a connection to the Google Calendar API as a service account. Once the connection has been established, a cron task synchronizes all Google calendars associated with the account with a local event calendar.

Events are captured as GCal Event content. GCal Events include basic information about the event--title (summary), date/time, and location. They also include the event and calendar ID from the Google calendar.

The "GCal Events" view includes a tabbed event calendar showing monthly, weekly, daily, yearly, and all upcoming events. It also includes an "Upcoming Block" with the next 5 events.

The Features module was used to define the "Google calendar" and "GCal Event" content types. The machine name of all fields is either field_google_... or field_gcal...
This allows users to add additional fields without introducing conflicts with future releases.

It is expected that site configuration will include additional fields used to show or hide events from different displays using new fields set by Rules and tested in Views. If your Rules are based on node creation, changes made to local fields after node creation will not be affected for subsequent display.

Use cases include a "show-in-upcoming" flag that controls event display in the Upcoming Block based on which Google calendar contains the event, whether or not it's part of a repeating series, and key words in the event title.

Project information