The default configuration of Google Workspace does not allow external software to interact with the agenda of meeting rooms. The purpose of this document is to describe what has to be configured in Google Workspace so that ROOMZ can read and interact with the agenda of the room.
All these steps assume that you are logged to Google with a super admin account.
Create an application
Connect to the Admin Google APIs console available at :https://console.cloud.google.com/, using your super admin account. Once logged click on the NewProject button. This button can be found in the Projects, on the top of the screen
Enter a name for your application, and click on the Create button.
Create a service account
From the Admin Google APIs home screen, open the contextual menu on top right of the console and click on Project settings.
Click on Service accounts, on the left.
Click on Create Service account
Enter an account name, for instance roomzserviceaccount and select the role Service Account User
Save the service account by clicking Done. Step 2 and 3 can be ignored
Go back to your list of service accounts and click on the 3 dots, on the corresponding line. Choose Manage keys
Create the key in *.json format. When you click on the Add Key button, a file containing the credentials of the service account will be downloaded on your local machine. Make sure you know where you store this file because you won't be able to download it anymore. This file will be necessary to connect the ROOMZ Portal to Google Workspace.
After downloading the file and closing the dialog, you will be able to get the service account's client ID and email address.
You should now have gathered your service account'sPrivate Key file, Client ID and email address. You are ready to delegate domain-wide authority to your service account.
Delegate domain-wide authority to your service account (skip if you don't have a Google Workspace account)
Then on Google APIs Library screen, select the group Google Workspace on the left menu.
Remember how to proceed to this step to display only Google Workspace APIs because you will need to come back to this screen a few steps later.
Click on the Google Calendar API and enable it.
As soon as the Google Calendar API is activated, go back to the Google APIs Library and search for Google Workspace again.
Find the Admin SDK API in Google Workspace and enable it.
Manage rooms resources
From the Google Admin console home screen, Click on Apps.
Then click on Google Workspace
Then click on Calendar
Adapt the sharing settings at least as follows, for the Primary and Secondary Calendars
For the secondary calendars, you might have to go to Applications - Google Workspace - Calendar - General Settings
Change the External Sharing options for secondary calendars to “Make changes”
In order to create a new meeting room, click on Resources
Click on the yellow "plus" icon and fill in the requested information
Regarding the Type field, In order to create a meeting room, you need to create a building first
After saving the resource, you can reopen it and identify its email address (Resource email)
Copy this email address somewhere as you will need it at least in order to map your meeting room into the ROOMZ Server.
Share the resource(s) with the Service Account
This step is often overlooked and forgotten, but is necessary if you want Instant Book and Instant Release to work from the ROOMZ Displays. When the sharing with the service account is not done properly, you will get a Connection to the server failed message on the device when trying to book or release a room with the Display
In order to share a calendar with the service account on the ROOMZ Server, you need to add the room's calendar in your calendar's list.