Skip to main content

Connecting Google Workspace to RICOH Spaces

Connect your Google Workspace rooms and calendars to RICOH Spaces

Before you start

Your Google Workspace super administrator must do or approve most of these steps. Only a super admin can authorise domain-wide delegation.

RICOH Spaces needs three things from Google:

  • A service account with a JSON key. A service account is an identity that RICOH Spaces signs in as. The JSON key is its password, stored as a file.

  • Domain-wide delegation. This lets the service account act as users in your domain, limited to four API (application programming interface) scopes.

  • A booking account. This is a generic Workspace user, such as [email protected]. This account runs bookings and directory sync.

No Google API key is used. RICOH Spaces authenticates with the service account's JSON key.


Note: Allow up to 24 hours for delegation changes to take effect. If you give the booking account the Super Admin role in step 3, Google says it can take longer.


Step 1 – Create the service account and JSON key

This step creates the JSON key file for RICOH Spaces and the service account's numeric Client ID for step 2.


1a. Create a project

  1. Sign in to console.cloud.google.com with your Workspace admin account.

  2. Select your projects
    ​


    ​

  3. Select New Project.
    ​

  4. Give it a name, such as ricoh-spaces-integration. Then, fill in the details and select Save.
    ​

1b. Enable the Google Calendar API

  1. With the new project selected, go to Menu > APIs & Services > Library.
    ​

  2. Search for Google Calendar API, open it and click Enable.
    ​


1c. Create the service account

  1. Go to Menu > IAM & Admin > Service Accounts, then click Create service account.

  2. Enter a name, such as ricoh-spaces. The ID fills in automatically.

  3. Skip the optional role and user-access steps, because Google Cloud roles don't grant Workspace access. Click Done.

1d. Create the JSON key

  1. Click the service account's email address, then open the Keys tab.

  2. Click Add key > Create new key, select JSON, then click Create.

  3. Store this somewhere safe, as you can only create it once.


1e. Copy the service account's Client ID

  1. On the service account's details page, click Advanced settings.

  2. Under Domain-wide delegation, copy the Client ID. It's a long number of about 21 digits.

The same number also appears as Unique ID on the Details tab, and as OAuth 2 client ID in the service accounts list.


Step 2 – Authorise domain-wide delegation

This step lets the service account act inside Google Workspace, limited to the four scopes RICOH Spaces needs. Only a super admin can do it.

  1. In admin.google.com, go to Menu > Security > Access and data control > API controls.

  2. Click Manage Domain-wide Delegation, then Add new.

  3. In Client ID, paste the 21-digit number from step 1e.

  4. In OAuth scopes, paste this line exactly

https://www.googleapis.com/auth/calendar

5. Click Authorise. Open the new entry and check that the scope is listed.

Scope

What RICOH Spaces uses it for

.../auth/calendar

Reading room availability, and creating, changing and cancelling bookings


Step 3 – Give the booking account rights over room calendars

The service account acts as the booking account, so the booking account must be able to edit every room calendar. There are two ways to do this.

Option

How

Trade-off

A. Super Admin role (recommended)

In admin.google.com, go to Account > Admin roles > Super Admin > Assign users, then add the booking account

No per-room sharing. The account gets full admin power, and Google notes the role can take time to apply.

B. Share each room calendar

Share each room's calendar with the booking account at Make changes and manage sharing (steps below)

Least privilege. Repeat this for every new room.

To use option B, sign in to Google Calendar as an admin:

  1. Open calendar.google.com. Next to Other calendars, click + > Browse resources and tick each room so it appears in your list.

  2. Point to a room calendar, click the three dots, then click Settings and sharing.

  3. Under Share with specific people or groups, click Add people and groups.

  4. Enter the booking account's email, set Make changes and manage sharing, then click Send.

  5. Repeat for every room.


Step 4 – Find your Customer ID

  1. In admin.google.com, go to Menu > Account > Account settings > Profile.

  2. Copy the value next to Customer ID.


Step 5 – Enter the details in RICOH Spaces

  1. In RICOH Spaces, A global admin will need to go to Organisation Settings > Integrations > Google Workspace.
    ​

    Screenshot 2023-07-25 at 08.53.22.png


    ​

  2. Fill in Client ID and Admin Email, click Choose File to upload the JSON key, then click Update.
    ​

    Screenshot 2023-07-25 at 08.54.34.png


    ​

RICOH Spaces field

Value from Google

Client ID

The Customer ID from step 4, not the service account number.

Admin Email

The booking account, such as [email protected].

Private Key

The JSON key file from step 1d


​
​

Step 6 - Link each room

  1. Go to Organisation Settings > your location > Spaces and edit the room.

  2. In its Calendar section, enter the room's email address.

  3. Click Create Watcher, then Save. Each room needs its own watcher to keep its bookings in sync with Google. Once created, the watcher shows a URL and an expiry date.

  4. Repeat for every room.


Did this answer your question?