Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Content

1️⃣ Overview

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 in to Google with a super admin account.

2️⃣ Create an application

a. 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, at the top of the screen 

b. Enter a name for your application, and click on the Create button.

3️⃣ Create a service account

a. From the Admin Google APIs home screen, open the contextual menu on the top right of the console and click on Project settings.

b. Click on Service accounts, on the left.


c. Click on Create Service account 

d. Enter an account name, for instance roomzserviceaccount and select the role Service Account User

e. Save the service account by clicking Done. Step 2 and 3 can be ignored

f. Go back to your list of service accounts and click on the 3 dots, on the corresponding line. Choose Manage keys

g. 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 to 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.

h. 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's Private Key fileClient ID and email address. You are ready to delegate domain-wide authority to your service account.

4️⃣ Delegate domain-wide authority to your service account (skip if you don't have a Google Workspace account)

To access user data on a Google Workspace domain, the service account that you created needs to be granted access by a super administrator for the domain. For more information about domain-wide delegation, see Control Google Workspace API access with domain-wide delegation.

To delegate domain-wide authority to a service account:

a. From your Google Workspace domain’s Admin console, go to Main menu menu> Security > API controls.

b. In the Domain wide delegation pane, select Manage Domain Wide Delegation.

c. Click Add new.

d. In the Client ID field, enter the client ID obtained from the service account creation steps above.

e. In the OAuth Scopes field, enter this list of scopes : 

https://www.googleapis.com/auth/calendar, https://www.googleapis.com/auth/admin.directory.user.readonly

Click Authorize.

5️⃣ Enable Google APIs

a. From the Google APIs Dashboard available at https://console.cloud.google.com search for “Google Calendar API”:

b. Click on the Google Calendar API and enable it.

c. As soon as the Google Calendar API is activated, search for “Admin SDK API” and click on it:

d. Click on the Admin SDK API  and enable it.

6️⃣ Manage rooms resources (skip if you don't have a Google Workspace account)

a. Go back to Admin console and search for “Calendar”:

b. From the Google Admin console home screen, Click on Apps.

c. Adapt the sharing settings at least as follows, for the Primary and Secondary Calendars 

d. 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”

e. In order to create a new meeting room, click on Resources

f. 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 

g. 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.

7️⃣ 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.

a. Go to your calendar by connecting to: https://calendar.google.com

b. Search for Other Calendars on the left side of the screen, and add a new calendar

c. Then choose Browse resources

d. Add the wished resource to your calendar : here for example, Weisshorn


e. Go back to your calendar (https://calendar.google.com
f. Click on the room's name on the left of the screen and open Settings and sharing

g. Scroll down to Share with specific people

h. Click Add People, you will arrive at this page: 

i. Share the room with the email address of the service account you created (and wrote down) a few minutes ago. Make sure to select Make changes to events

j. Repeat these steps for each resource

Yeah! Google is configured! (smile)

8️⃣ Next steps

You can then continue the setup in the ROOMZ Portal: Booking System and Resources connection


  • No labels