---
title: "Pitfalls"
manual: "Fullcalendar"
version: "main"
permalink: "https://docs.typo3.org/permalink/mediaessenz/fullcalendar:pitfalls@main"
source: "QuickStart/Pitfalls.rst"
rendered: "2026-10-25T19:39:52+00:00"
---

# Pitfalls {#pitfalls}

## Google calendar: API key and public calendar {#google-api-key}

Google calendars are loaded directly from the browser of the visitor with the
Google Calendar API v3. This needs

1.  A Google API key with the *Google Calendar API* enabled. Create a project in the
    [Google Cloud Console](https://console.cloud.google.com/), enable the API and
    create an API key. Restrict the key to the domains of your website
    (HTTP referrer restriction).
1.  A calendar shared as public (*Make available to public*, *See all event details*).

> [!WARNING]
> The API key is part of the JavaScript of the page and thus visible to everyone.
> Always restrict it to your domains.

## No events or an empty calendar {#no-events-or-an-empty-calendar}

-   Check the browser console for errors of the feeds.
-   A hidden feed record or a feed restricted to user groups is not loaded.
-   If a [category filter](https://docs.typo3.org/permalink/mediaessenz/fullcalendar:filter@main) is selected, Google calendar and iCal feeds are
    only added if their **first category** is inside of the tree defined by
    [categoryFilterRoot](https://docs.typo3.org/permalink/mediaessenz/fullcalendar:confval-plugin-categoryfilterroot@main) (all categories if empty). A feed without any
    category is not shown at all when a filter is used. Assign a category to every feed.
-   For EXT:calendarize events check the selected storage pages (and the recursive level)
    and that the events are not hidden or in the past of the displayed range.
-   The calendarize feed is requested with the page type `1738665709`.
    It is defined by the Site Set or the static template. A site without it shows no
    calendarize events.

## Calendar looks wrong {#calendar-looks-wrong}

The calendar is rendered with the Bootstrap 5 theme of FullCalendar and the Bootstrap CSS has
to be loaded by your site. Without it, buttons, modals and the filter are unstyled.

## Static file cache {#static-file-cache}

If you use a static file cache, clear it after you changed feed records, because the
event sources are part of the generated HTML. Events of feeds are loaded by
JavaScript at runtime and always up to date.
