Print

 

Google Calendar import plugin provides support for Google Calendars in Smart Countdown version 3.0 or later. It pulls events from selected Google calendar and adds them to Smart Countdown events queue so that countdown/count up is switched automatically to the next event in queue.

Once installed and enabled the plugin adds a new pane ("Google Calendar Bridge") to Smart Countdown 3 module settings screen. You have to install and configure Smart Countdown 3 module prior to installing Google Calendar import plugin.

Both the module and your Google account have to be configured before the calendar can be connected with Smart Countdown.

The module below is connected to a test public calendar. Default timezone for this calendar is CET. You can check it in native Google Calendar view.

Import events from a private calendar using OAuth authentication method. Colour filter is set so that only "default calendar" and "red" colour events are imported.

Updated version available for purchase - 4.90€

Make payments with PayPal - it's fast, free and secure

Configuration Overview

The configuration required consists of two basic steps: Google Calendar API configuration and Smart Countdown 3 configuration. If you are using Google Calendar in shared mode you probably have everything already set up so you should login to https://console.developers.google.com/ with your google account, go to the project where you have Calendar API enabled and take note of your current credentials and calendar ID. Then you can go directly to step 3 - module configuration.

If your Google calendar is not shared and / or you don't have projects in Developers Console yet, please continue reading.

Prepare Google Calendar API

Step 1

First you have to create a project in Google Developers Console and enable Calendar API.

Figure 1

If you already have existing project(s) you can enable Calendar API for one of your projects (if not enabled yet). Choose a project from the list, in the sample below we will be working with "Smartcalc" project created on previous step.

Figure 2

Now we have to add and enable Calendar API in our project. Make sure you see your current project at the top of the window as shown below. Click "Library" menu.

Figure 3

Search for "Calendar" in API library.

Figure 4

Select "Google Calendar API" and enable it.

Figure 5

 

After you complete these steps Calendar API should be listed in enabled APIs.

Figure 6

Step 2

Now we have to create API credentials. Select "Google Calendar API" from the list to open Calendar API configuration.

Figure 7

Click "Create credentials". Google calendar import plugin supports two authentication modes: API key and OAuth. Each one has its pros and contras and you have to choose the mode that suites better.

API key mode.

Pros:

Cons:

OAuth mode.

Pros:

Cons:

API key mode setup

Figure 8

In the sample above we create an API key.

Figure 9

API key should be listed in credentials.

Figure 10

Next we have to edit recently created API key.

Figure 11

Here we can change API key name and also restrict key access. Please, keep in mind that Smart Countdown 3 calls Google Calendar API from server, that is why "HTTP referrers..." option will not work. If you are concerned about API key restrictions you should choose "IP addresses" option. In the sample above we are testing plugin locally so we have added 127.0.0.1 to allowed IP list.

There is also an option to restrict key access by API type.

Figure 12

Save your API key configuration to return to credentials list.

Figure 13

Take note of API key. You will need it later in Smart Countdown 3 settings for API key authentication.

OAuth mode setup 

Choose "Service account key" option when creating new credentials.

Figure 14

Choose key options as shown below. Important settings are marked with red box.

Figure 15

Credentials JSON file should be automatically saved to you local disk after you click "Create". Keep this file in a safe location. JSON key file can be saved only once when service account is created.

JSON key file will be required later in Smart Countdown 3 module settings for OAuth authencication.

Figure 16

Keep note of your service account email, you will need it later for private calendar sharing settings.

Prepare Your Calendar

Step 3

Login to your gmail account and go to Calendar application. We will create a new calendar to use as a source of events for Smart Countdown. If you prefer using an existing calendar (which normally will be the case) you can skip calendar creation step and go directly to calendar configuration. Just make sure that your existing calendar public / private status is compatible with authentication mode (API key / OAuth) chosen in Step 2.

We will create two calendars, public and private ones to illustrate required configuration.

Figure 17

Public calendar for API key access

Figure 18

We have to setup public calendar.

Figure 19

Scroll to bottom to see more.

Figure 20

Please take note of Calendar ID and time zone.

Private calendar for OAuth access

Figure 21

We have to setup private calendar.

Figure 22

Scroll down to see more.

Figure 23

Please take note of Calendar ID and time zone.

Important step - add service account email created earlier to "Share with specific people" list.

Figure 24

Finish Module Configuration

Step 4

Google Calendar Bridge plugin adds a new pane to Smart Countdown 3 settings.

The screenshot below is a sample - API key authentication.

Figure 25

OAuth authentication method sample.

Figure 26

Fields explanation:

Filter Events by Colour

You have to fill in and save module settings before you can start configuring colour filters. If module configuration is compatible with colours filter a new field will appear at the bottom of "Google Calendar Bridge" pane in module settings.

color filter

Check one or more option checkboxes and save. Only events with checked colours will be imported into events queue in Smart Countdown 3. "Calendar Default" option selects events that have default colour (i.e. no individual colour set) - in your calendar view such events have the same colour as your calendar (global setting). Click helper buttons to quickly check / uncheck all options. If all options are unchecked "Calendar Default" will be implicitly activated on save. Checking all options will have the same effect as "no filtering".

Troubleshooting

Loading spinner appears for a while and goes away. Timer module is not showing.
Some events are not imported.
"Debug API calls" is enabled and error alert reads "Not Found".