How to set up your Google Calendar for syncing with LibCal
Google Calendar integration allows you to automatically add your LibCal calendar events, room bookings, and Appointments appointments to one or more of your Google Calendars. This is a great way to easily keep tabs on upcoming events, bookings, and appointments.
- Connecting your LibCal calendar to a Google Calendar is a great way to post events to a shared calendar. For example, as you add events to your Instruction calendar, they could appear on an internal Google calendar shared by your reference and instruction librarians. That way, they don't have to log into LibCal to see upcoming sessions.
- By connecting room bookings to Google Calendar, you can view your upcoming room bookings in a calendar format (with or without patron information). This is a helpful format for seeing your upcoming room bookings.
- If you've connected your Appointments to your Google Calendar, new appointments will appear automatically as calendar events. LibCal can also check your calendar for your free and busy times, preventing patrons from booking appointments when you're not available.
Step 1. Set up a Google Service account
The first step to integrating LibCal with your Google Calendar is obtaining a Google Services account. Google makes this a little convoluted, but follow the steps below and you'll be done in no time. :)
- Sign into the Google Developers Console using your Google account.
- In the navigation bar, click on the Projects button.
- If you have an existing project you want to use, select it from the list and click OPEN.
- Otherwise, click on New Project to create a new one.
- If creating a new project, give it a name (for example, "LibCal Sync") and click the Create button. It may take a few seconds for Google to create the project -- that's normal.
- From the project's dashboard page, click on the menu () icon and go to APIs & Services > Library.
- The Library will present the available APIs you can use. Search for and click on the Google Calendar API.
- On the Google Calendar API page, click on the Enable button at the top of the page.
- Once enabled, you'll see an alert about needing credentials. Click on the Create Credentials button.
- On the Add credentials to your project page, click on the service account link in the description of Step 1.
- On the Service Accounts page, click on the Create Service Account link at the top.
- Under the Service Account Details step, give your service account a name (this could be the same name as your project) and click the Create button.
- Under the Service Account Permissions step, click Continue. (You do not need to select a role.)
- Under the Create key step, click on the Create Key button.
- The Create key sidebar will appear. Choose the appropriate Key Type.
- Spaces integration: select JSON as the format.
- Calendars, Room Bookings, & Appointments integration: select P12 as the format.
- Click Create. You'll receive a confirmation screen with your private key's password. (You can jot this down if you'd like, but you won't need it for the LibCal integration.)
- The key file will also download (be sure to hold onto this -- you'll need it any time you want to sync with this service account).
- You can close the confirmation window.
- On the Service Accounts page, copy the email address for your new service account listed in the Email field. (For the remainder of the setup process, you may find it helpful to keep this page open in its own browser tab.)
Step 2. Prepare your Google Calendar
Next, you need to set up your Google Calendar. You can use any of your calendars listed under "My Calendars" in your Google Calendar account (anything listed under "Other Calendars" aren't owned by you, so you can't sync to those).
Using the classic Google Calendar interface
- For the calendar you want to connect to LibCal, locate it under My Calendars and click on the options dropdown
- Select Calendar Settings.
- In your settings, click on the Share this Calendar tab.
- Under Share with specific people, enter the service account ID for your Google Service Account in the Person field.
- For its Permission Settings, select Make changes to events.
- Click on the Add Person button.
- Click on the Save button. This will return you to your calendar.
- Return to your Calendar Settings (Steps 1-2 above). Look for the Calendar Address and copy your calendar's ID (you'll need this when setting up LibCal, so it may be helpful to leave this tab open in your browser).
Using the new Google Calendar interface
In October 2017, Google started rolling out a new interface for Google Calendar. If you're currently using this interface, the steps below will help you set up your calendar.
- Click on the Options () button next to your calendar.
- From the dropdown menu, select Settings and Sharing.
- In your calendar's settings, under Share with Specific People, click on Add People.
- Enter the email address of your Google Service Account.
- From the Permissions dropdown, select Make Changes to Events.
- Click the Send button to save your changes.
- In your calendar's settings, under Integrate Calendar, copy the Calendar ID (you'll need this when setting up LibCal, so it may be helpful to leave this tab open in your browser).