randomBrainstormer / MMM-GoogleCalendar

Google Calendar for MagicMirror²
MIT License
73 stars 46 forks source link

Can't Get Any Calendar to Display #2

Closed Enster1 closed 2 years ago

Enster1 commented 2 years ago

I have tried installing and running MMM-GoogleCalendar bu I have not had any success. I would really like to display a private birthday calendar, but I am even having trouble displaying a public US Holidays calendar. When I run MM, the header shows up in the correct spot, but it just gets stuck on "Loading..." I am not sure how to proceed.

randomBrainstormer commented 2 years ago

Hi @Enster1, have you done the authentication setup steps to get the token?

Enster1 commented 2 years ago

I completed the authentication setup and received the token. I currently have a Quickstart project with a Desktop Client for the GoogleCalendar module. I also have a TV Client in the same project for a GooglePhotos module. I have APIs enabled for Google Calendar, Google Photos Library, and Google+, and according to my Dashboard, it is receiving requests for the Photos Library and Google Calendar (although the Google Calendar API has only received 4 requests vs. Photos Library receiving ~8,000 requests). The GooglePhotos module is also not working properly. It is showing a photo form the designated album so it is working on some level.

The part that I cannot figure out is that MMM-GoogleCalendar will not even pull the US Holidays calendar from https://www.calendarlabs.com/templates/ical/US-Holidays.ics. However, when I revert back to the built-in calendar module, that same link works fine. I have tried reinstalling the GoogleCalendar module, I have deleted the token and gotten a new one, and I have even redownloaded my credentials.json and gotten a new token but none of these have fixed the problem.

randomBrainstormer commented 2 years ago

@Enster1 this module will only work with Google calendars, not ics. The reason is that information is stored in different formats and this module will only parse the native Google calendar format. Try adding a non ics calendars.

Enster1 commented 2 years ago

Could you clarify what information goes in the CalendarID config setting? I have tried the Google Calendar ID (en.usa#holiday@group.v.calendar.google.com), the Public URL (https://calendar.google.com/calendar/embed?src=en.usa%23holiday%40group.v.calendar.google.com&ctz=America%2FNew_York), and the Public Address in iCal (https://calendar.google.com/calendar/ical/en.usa%23holiday%40group.v.calendar.google.com/public/basic.ics) for the Public Google US Holiday Calendar and none of them seem to work. It is still stuck on "Loading..." I also refreshed my token to see if that would help but no change.

On a side note, when I refresh my token I do see the upcoming events in the console for the private calendar I am trying to use for the MM so I know that the API is working for Google Calendar. There seems to be a disconnect in actually displaying that information.

Here is my config code just in case I am missing something:

{ module: "MMM-GoogleCalendar", header: "US Holidays and Tatnall Birthdays", position: "top_left", config: { calendars: [ { symbol: "calendar-check", url: "en.usa#holiday@group.v.calendar.google.com" }, { symbol: "birthday-cake", url: "##############################@group.calendar.google.com" } ] } },

I appreciate all of the help. I am travelling for the holidays so I apologize if I am not able to respond for a few days.

randomBrainstormer commented 2 years ago

Hi @Enster1

In the config you posted I see you have a url key, when it should be calendarID, the config should look something like this:

{
module: "MMM-GoogleCalendar",
header: "US Holidays and Tatnall Birthdays",
position: "top_left",
config: {
    calendars: [
        {
            symbol: "calendar-check",
            calendarID: "en.usa#holiday@group.v.calendar.google.com"
        },
        {
            symbol: "birthday-cake",
            calendarID: "##############################@group.calendar.google.com",
        }
        ]
    }
},

with just calendarID instead of url. After updating the config don't forget to restart magic mirror so it can reload the new config.

Enster1 commented 2 years ago

Thank you so much. That did the trick! Now I just need to play around with getting multiple calendars to display at the same time and making sure there is enough space to display them, but I think I should be able to do that through config.js and main.css.

Thanks again for helping me out. I am trying to set up a MM for a school and I really wanted to have a birthday calendar to display.

randomBrainstormer commented 2 years ago

Awesome! I'm glad I could help!