Google Calendar Service Account

It would help if Google Calendar node would support Service Account

My use case:

For personal users @gmail.com google doesn’t allow to use oauth2. There’s problematic process to get app approved. I managed to get google workspace using custom domain to get internal application created however in thise case the google calendar is not avaiable :frowning:

Any resources to support this?

Compatible nodes with Service Account

Are you willing to work on this? I would love to, but so far I’ve been only programming in pure Python.

I second this, I am trying to build a calendar agent for a company and without a service account I can’ t update and view availability for all the users. I am familiar with Javascript but not capable enough to handle this alone, give me a shout if I can help!

Same, I need it

I am also working on something that requires domain wide access to the gmail calendar.
I saw something about setting up the service account for domain wide access, and then I “think” you send it the specific email as the user it needs to impersonate.

My issue is trying to inject the users email in the Service account “impersonate user” field. I see you can add expressions, but wasn’t sure how to automate and iterate through all the users.

Using this as the basis:
To use a service account with domain-wide delegation to access the Google Calendar API, a Google Workspace super administrator needs to grant the service account access to user data within the domain, enabling it to impersonate users and manage their calendars.

Here’s a breakdown of the process:

  1. Understanding Domain-Wide Delegation:
  • Domain-wide delegation allows a service account to access user data on behalf of any user in a Google Workspace domain without requiring individual user consent.
  • This is necessary when an application needs to manage calendars for multiple users within the domain.
  • It’s a way to grant a service account broad access to user data, but it’s important to use it judiciously and restrict the scopes of access.
  1. Setting up Domain-Wide Delegation:
  • Admin Console Access: A Google Workspace super administrator must navigate to the Admin console and go to “Security > Access and data control > API Controls”.
  • Manage Domain-Wide Delegation: Under “Domain-wide delegation,” select “Manage Domain-Wide Delegation”.
  • Add New: Click “Add new” and enter the service account’s client ID (the one that’s only numbers).
  • OAuth Scopes: Enter the necessary OAuth scopes that the service account needs to be granted (e.g., https://www.googleapis.com/auth/calendar and https://www.googleapis.com/auth/calendar.events).
  • Authorize: Click “Authorize” to grant the service account domain-wide access.