Configuration of G-Suite Integration



Introduction

To use the Google G-Suite integration module, you must create a Service Account for the booking system to access your resource calendars. The access can be based on read-only or read-write access. Please follow the guide below for further information.


How to create a new project and service account

In the following section, we show how to create a G-Suite project, a service account and authorization (.json) key data for access.
 

1. Go to https://console.developers.google.com/cloud-resource-manager and login as a Google Admin.

2. Press “Create project”.

3. Select a name for your project and press “Create”.



4. Once created navigate to your new project.




5. Under "Getting Started" select "Explore and enable APIs ".





6. Press "Enable APIs and Services".




7. Type “calendar” in the yellow-marked search box.





8. Then select "Google Calendar API".



9. Press the blue “ENABLE” button.



10. Then press the white “CREATE CREDENTIALS” button.




11. Then press the white “Cancel” button at the bottom.




12. Now press the blue “Create credentials” button and select the “Service account key” option.



13. In the following window, press the “Select” menu and choose “New service account”.



14. Enter a name for the service account, for example “UC Room Manager”.



15. Under "Role" select "Service Accounts" > "Service Account User".



16. You should now see the following screen and a json file will download.



17. Press “Close”, then press the “Manage service accounts” button.




18. Select service account, which you have just created.




19. On the following screen, copy and save the contents of the service account Email and Unique ID and press the SHOW DOMAIN-WIDE DELEGATION selector.




20. Press the blue Edit button at the top of the screen and select the option to “Enable G Suite Domain wide Delegation” at the bottom (See https://developers.google.com/calendar/auth for details of what this means).




21. Scroll to the bottom and press the blue SAVE button.





Security - authorizing your service account

In the following section, we authorize the service account to access resource calendars.

1. Go to https://admin.google.com and navigate to “Security”.





2. Scroll down and press the “Advanced settings” option




 

3. Press Manage API client access.





4. Authorizing access


  1. In the Client Name field, you type the Unique ID of the Service Account you have created in the previous section (See pt. 19 at page 5 in the previous section) and which we asked you to save.
  2. In the One or More API Scopes insert the scope-URL
    https://www.googleapis.com/auth/calendar (for Read/Write access) or.. 
    https://www.googleapis.com/auth/calendar.readonly (for Read-only access)
  3. Then press the Authorize button
  4. This screen should then appear




Calendar sharing

Within the following section, we show how to enable calendar sharing with your service account.


1. Go to https://admin.google.com and navigate to “Apps”.


 

 

2. Press the “G Suite” panel-button.




3. Press on within the yellow-marked area below.





4. You should then see the following screen.




5. Browse to the bottom and select General Settings.




6. Then select the option “External sharing options for secondary calendars” at the top.


7. When the panel activates, select either

1. “Share all information, but outsiders cannot change calendars” for Read-Only mode.

2. “Share all information and outsiders can change calendars” for Read/Write mode.


8. Press the SAVE button – and please note, changes will take 24 hours to propagate, even on newly created G-Suite accounts. This means you may be prevented from sharing the resource calendars later in this guide (See point 6 section 6 on page 11).




Creating resources 


1. If you are continuing from the previous section, select the Resources row, or else …

2. Go to https://admin.google.com/ and select “Buildings and resources”







3. Add resources by pressing the round yellow + button and type in the name of your resources.

 

Sharing resources with your service account

This section shows how to share your resource calendars with your service account. If you just recently allowed calendar sharing (see point 8 section 4 at page 9), it may take up to 24 hours before sharing is possible.


1. Goto https://calendar.google.com/ and make sure you are logged in as G-Suite domain admin.

2. Right next to “Other calendars”, press the + sign as shown below.



3. In the popup menu, select “Browse resources”.



4. Select the resources and press back on your browser.



5. Important: If the resources are now figuring under “Other Calendars”, the change from section 8 section 4 at page 9 has not yet propagated. The calendar should look like below. Else, wait for propagation.



6. Press the 3 dots next to each resource and select Settings and sharing.



7. Select Share with specific people then press the + Add people button at the top.




8. A field appears: Add email or name field.



9. In here, you write the email address of your Service Account (See section 2 point 19 at page 5), for example uc-room-manager@uc-room-manager.iam.gserviceaccount.com and select either

  1. “See all event details” for Read-Only mode.
  2. “Make changes to events” for Read/Write mode.



10. Then press the Send button and repeat from step 6 with the remaining resources.

If you missed copying the email in section 2 point 19 at page 5, you can either:


  1. find it within the .json file (after “client_email”) or …
  2. Go to https://console.developers.google.com/iam-admin/serviceaccounts/ press Select a project

  3. Select your room-manager project and copy the service account email



 

 









Configuration of the G-Suite profile within the booking system

1. In the menu point named “Indstillinger”, select “Eksterne kilder”.

2. Press the + button and select “Google G-Suite” from Import Type.

3. Select a Name (Navn) for the import and select a calender (Kalender). If a calendar has not yet been created, please do so first.

4. Enable Two-way sync (To-vejs sync) only for Read/Write configurations.

5. At the bottom, press the "Browse" button and select your Service Account .json file and press Save (Gem).

6. Press the cyan "Test Kørsel" button. If the message appears:

  1. You forgot to share the resource calendars with your service account email.
  2. You shared the resource calendars with the wrong/mis-typed service account email.
  3. Changes have yet to be propagated.

7. Pressing the Test Kørsel button resulted in something like what is shown below, which is correct.



8. Enable the Aktivér Modul (Activate module) check box and press the Gem (Save) button and you are done.