Google Apps SA Calendar Share logo

Google Apps SA Calendar Share Version 1

This handler uses the Google API library to share a Google Calendar either publicly or privately. Using a Service Account Email and the corresponding P12 file (see below for details about obtaining these values) to authenticate the handler against Google's API. A call is then made to exchange the Calendar Name for a unique Calendar Id. After retrieving that, another call is made to Google to complete the sharing of the calendar. A list of possible calendar access types can be found below. Any errors that occur during the posting process will be caught and re-raised by this handler.

  • In order to use this handler, the account specified by the task info values needs to enable Calendar API in admin account.

Possible Calendar Access Values

[none] Provides no access [freeBusyReader] Provides read access to free/busy information [reader] Provides read access to the calendar. Private events appear with details hidden. [writer] Provides read and write access to the calendar. Private events appear with details available. [owner] Provides ownership access to the calendar.

How to retrieve the Service Account Email and Setup P12 File

To enable the Calendar API and get the Service Account Email and P12 File 1. Navigate to the 'Google Developers Console' 2. Click on the Create Project button (or if you have an existing project that you wish to keep using, click on the project name.) 3. Go to the APIs page and turn on the Calendar service 4. Go to the Credentials page and Create a new Client Id * Select 'Service Account' * Select 'P12 Key' for Key type 5. When you click 'Create Client Id', a P12 File will be downloaded 6. Remember the Email for the Service Account that you just created To add the P12 file to the handler: 1. Download the .zip file for the handler 2. Expand the zipped directory, and place the P12 File that you just downloaded into the resources folder * Found at googleappscalendarcreatev3 => handler => resources * Remember the name of the P12 File, it will be needed later 3. Zip the directory back up and upload to Kinetic Task The Service Account Email and P12 File name will be used as info values for the handler, and will be used to get access to the Google Services

How to Perform Domain-Wide Delegation of Authority to Allow Impersonation

  1. Go to your Google Apps domain’s Admin console.
  2. Select Security from the list of controls. If you don't see Security listed, select More controls from the gray bar at the bottom of the page, then select Security from the list of controls.
  3. Select Advanced settings from the list of options.
  4. Select Manage third party OAuth Client access in the Authentication section.
  5. In the Client name field enter the service account's Client ID.
  6. In the One or More API Scopes field enter the list of scopes that your application should be granted access to (see image below). For example if you need domain-wide access to the Google Calendar API enter:
    • https://www.googleapis.com/auth/calendar
  7. Click the Authorize button.

Parameters

Name Description
Calendar Name The name of the calendar that will be shared.
Sharing Scope The scope for who the calendar will be shared with. The scope will default to public access, but you can also limit it to user, group, or domain.
Recipient If the scope is not public, the username, group name or domain name for who the calendar will be shared with.
Calendar Access The access type that the recipient will have to the calendar.

Sample Configuration

Name Description
Calendar Name Example Calendar
Sharing Scope user
Recipient test.user@acme.com
Calendar Access owner

Results

This handler does not return any results.

Changelog

GoogleAppsSaCalendarShare_V1 (2015-05-28)

  • Initial version. See README for details.


Related Handlers

Google Apps Group Add Users
This handler adds a list of existing users to the specified group.
Google Apps SA Calendar Create
This handler creates a new event in Google Calendar using a service account.
Google Apps SA Calendar Event Create
This handler creates a new Google Calendar event using a service account.
Google Apps SA Calendar Unshare
This handler unshares a Google Calendar using a service account.
Google Apps SA Group Add Owners
This handler sets a list of existing users to be managers of the specified group using a service account.
Google Apps SA Group Create
This handler creates a new Google Apps group using a service account.
Google Apps SA Group Delete
This handler deletes an existing Google Apps group using a service account.
Google Apps SA Group Remove Users
This handler removes a list of users from the specified group using a service account.
Google Apps SA Sheets Create
This handler creates a new Spreadsheet in Google Sheets.
Google Apps SA Sheets Delete
This handler deletes a Spreadsheet in Google Sheets.
Google Apps SA Sheets Rename
This handler renames a Spreadsheet in Google Sheets.
Google Apps SA Sheets Row Append
This handler adds a row to the bottom of a Spreadsheet in Google Sheets.
Google Apps SA Sheets Row Clear
This handler clears a row on a given Spreadsheet in Google Sheets.
Google Apps SA User Create
This handler creates a new user using a service account.
Google Apps SA User Delete
This handler deletes a user from the domain database using a service account.
Google Apps SA User Restore
This handler restores a user in the domain database using a service account.
Google Apps SA User Suspend
This handler suspends a user from the domain database using a service account.