.. include:: /Includes.rst.txt .. _pitfalls: ======== Pitfalls ======== .. _google-api-key: Google calendar: API key and public calendar ============================================ Google calendars are loaded directly from the browser of the visitor with the Google Calendar API v3. This needs #. A Google API key with the *Google Calendar API* enabled. Create a project in the `Google Cloud Console `__, enable the API and create an API key. Restrict the key to the domains of your website (HTTP referrer restriction). #. 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 ============================== * 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 :ref:`category filter ` is selected, Google calendar and iCal feeds are only added if their **first category** is inside of the tree defined by :confval:`plugin-categoryfilterroot` (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 :typoscript:`1738665709`. It is defined by the Site Set or the static template. A site without it shows no calendarize events. 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 ================= 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.