PHPackages                             tributemedia/google\_calendar\_events - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. tributemedia/google\_calendar\_events

ActiveDrupal-module[Utility &amp; Helpers](/categories/utility)

tributemedia/google\_calendar\_events
=====================================

Creates Event nodes from a configured Google Calendar.

v1.0.1(3y ago)012GPL-3.0-or-laterPHP

Since Oct 25Pushed 3y ago2 watchersCompare

[ Source](https://github.com/tributemedia/google_calendar_events)[ Packagist](https://packagist.org/packages/tributemedia/google_calendar_events)[ RSS](/packages/tributemedia-google-calendar-events/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (1)Versions (4)Used By (0)

Google Calendar Events
======================

[](#google-calendar-events)

This Drupal 9 module syncs locally created `Event` nodes with the Google Calendar of a configured calendar.

Features
--------

[](#features)

- Retrieves events from the Google Calendar API for a configured calendar, and creates an `Event` node for each one.
- When the time is updated on the configured calendar, that change is eventually detected and updated in the corresponding Drupal `Event` node.
- An out of the box view is included to display `Event` nodes in a calendar view.

Installation
------------

[](#installation)

There are a few dependencies you'll need to get first before installing the module. You'll need the following Drupal modules:

- [Full Calendar View](https://www.drupal.org/project/fullcalendar_view)
- [Key](https://www.drupal.org/project/key)
- [Smart Date](https://www.drupal.org/project/smart_date)
- Smart Date Recur (included with Smart Date)

Once those are installed, go ahead and install the module itself:

`composer require tributemedia/google_calendar_events`

After the install, make sure one final composer dependency is installed called `google/apiclient`. If you don't see that it was installed during the install of the module itself, you'll want to install it.

`composer require google/apiclient`

Finally, you're ready to install the module in the Drupal interface! Go ahead and do so, there should be no issues at this point.

Configuration
-------------

[](#configuration)

### Service Account &amp; Key

[](#service-account--key)

Now that the module is installed, it must be configured before it's ready to use. If you haven't already, go to the Google console and create a project, and within that project create a service account and then give it a service key. Here are some instructions if you don't know how to do that:

- [Creating a service account](https://cloud.google.com/iam/docs/creating-managing-service-accounts).
- [Creating a service key](https://cloud.google.com/iam/docs/creating-managing-service-account-keys).

Once you have those, in the admin menu, navigate to Configuration -&gt; System -&gt; Keys. Select 'Add Key'. Fill out as such:

- Key Name: Google Calendar Service Key (**IMPORTANT:** The key name must match this exactly, and have the machine name google\_calendar\_service\_key. If a key with this exact name is not detected, the module won't work!)
- Key type: Authentication.
- Key provider: Configuration.
- Key value: Copy the service key you obtained and paste it here.

If a field wasn't included in the list, you can leave it blank. You can now save and the key will be available to the module.

Just one last thing with the service account! You'll need to share the calendar you want to have synced with the service account. Each service account in Google has an associated, spammy looking email address. You'll need to find that and share the calendar in question with it.

### Module Config

[](#module-config)

Now we're ready to config the module itself! In the admin menu, navigate to Configuration -&gt; Web services -&gt; Google Calendar Events Settings. If you configured the service key correctly, you'll see a message prompting you for an API Subject. This is simply the email address of a person who manages the service account you created. Go ahead and supply that in this field, save, and if everything is configured correctly, you'll have additional self-explanatory options available! You can pick from multiple calendars, if your service key and API subject have access to them.

Usage
-----

[](#usage)

Using the module after configuration is simple! Events will be synced automatically every 12 hours, but if you want a run sooner than that (especially for your first batch of events!), then you can navigate to Configuration -&gt; Web services -&gt; Google Calendar Events Status. Once here, click the 'Check Events' button, and you'll have queued up a cron job for the module to check for events. You can then run cron to get the events.

You also have access to a built-in view to display events, once you have them. The view has a page display configured at the path `/events`.

### Cron Workflow

[](#cron-workflow)

In case you're curious about the cron workflow, there are two workers. The first checks for new events, or updated ones, when a job is queued to the `google_calendar_events_ccq`. CCQ stands for Calendar Check Queue.

If the CCQ worker detects a new events, or the need to update an existing one, a job is queued on the `google_calendar_events_ceq`. CEQ is short for Calendar Event Queue. The CEQ's job is to then create a new event, or update the existing one with the new start and/or end times.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~7 days

Total

2

Last Release

1285d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f09e37f36cc9c7f95e2e8d0c149e8c18c84cefb644a2b039c1ed0d1e4058c245?d=identicon)[tributemedia](/maintainers/tributemedia)

---

Top Contributors

[![AntonioXIII](https://avatars.githubusercontent.com/u/16991520?v=4)](https://github.com/AntonioXIII "AntonioXIII (3 commits)")

### Embed Badge

![Health badge](/badges/tributemedia-google-calendar-events/health.svg)

```
[![Health](https://phpackages.com/badges/tributemedia-google-calendar-events/health.svg)](https://phpackages.com/packages/tributemedia-google-calendar-events)
```

###  Alternatives

[spatie/laravel-google-calendar

Manage events on a Google Calendar

1.4k1.5M21](/packages/spatie-laravel-google-calendar)[tomatophp/filament-seo

Manage and generate SEO tags and integrate your website with Google SEO services

112.6k1](/packages/tomatophp-filament-seo)[infoweb-internet-solutions/yii2-cms-analytics

Analytics module for Yii2

112.4k1](/packages/infoweb-internet-solutions-yii2-cms-analytics)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
