I think the issue is that file_get_contents doesn't send referer.
If instead of
$gcal_raw = file_get_contents($gcal_url);
$gcal_raw = json_decode($gcal_raw);
$args = array(
'headers' => array(
'referer' => site_url()
)
);
$gcal_raw = wp_remote_get( $gcal_url, $args );
$gcal_raw = isset( $gcal_raw['body'] ) ? json_decode( $gcal_raw['body'] ) : array();
Currently Google API restrictions by IP are breaking the data fetch.
From @basscl 2025-01-30