Using the Google Sheets Connection Manager

The Google Sheets Connection Manager is an SSIS connection manager that can be used to establish connections with Google Sheets.

To add a new connection, right-click the Connection Manager area in your Visual Studio project and choose "New Connection..." from the context menu. You will be prompted the "Add SSIS Connection Manager" window. Select the "Google Sheets (KingswaySoft)" item to add a new Google Sheets Connection Manager.

New SSIS Connection

Add SSIS Google Sheets Connection

The Google Sheets Connection Manager contains the following 2 pages of configuration.

  • General
  • Advanced Settings

General Page

The General page allows you to specify connection properties and login credentials to Google Sheets.

SSIS Google Sheets Connection

Authentication Mode

The Authentication Mode option allows you to specify how you want to authenticate to your Google Service. Available options are:

  • Authorization Code
  • Service Account (server-to-server authentication)

These options have been deprecated and are only available in v10.0 or earlier. If you are using v.20.1 or newer, these options will not be available.

Token Location (Available only when Authorization Code is selected)

Google BigQuery retrieves tokens from the Google app once you give authorization. The tokens are stored in Windows Registry so that once they expire, our component will automatically request new tokens from Google and replace the existing tokens with the new ones in the Registry to minimize user effort and avoid service interruption for scheduled jobs. You have two options to choose where in the Registry you would like to store these tokens:

  • Local Machine registry hive – HKEY_LOCAL_MACHINE
  • Current User hive – HKEY_CURRENT_USER
App Type (Available only when Authorization Code is selected)

The selected App Type which was chosen when creating the Google token.

Account (Available only when Authorization Code is selected)

The selected available Google Account Number and Name.

Authentication (Available only when Authorization Code is selected)
Generate New Token File

This button will open a dialog that allows you to log in to the service endpoint and authorize your app to generate a new token.

SSIS Google Sheets Connection

Google Service

The Google Service you are trying to connect to.

Authorization Type

The App which will be used to connect to your Google Service. Available options are:

  • KingswaySoft: The Connection Manager will use the Client Id and Secret that is provided by KingswaySoft for your convenience when setting up the connection, it should NEVER be used for production purposes.
  • My Own App: Selecting this option will allow you to use your own Client ID and Secret to connect to Google Services.
App Info
Client Id

The Client Id option allows you to specify the unique ID which identifies the application making the request.

Client Secret

The Client Secret option allows you to specify the secret belonging to your Google Service App ID.

Redirect Url

The Redirect Url option allows you to specify the Redirect Url which was used during the Google App creation in order to complete the authentication process.

Sign In & Authorize
Use Default Browser to Sign In

When this option is checked the Sign In & Authorize button will open your default web browser in order to complete the OAuth authentication. When this option is unchecked, the Sign In & Authorize button will complete the entire OAuth authentication process inside of the toolkit.

Sign In & Authorize Button

This button allows you to log in to the service endpoint and authorize your app to generate a token.

Warning: By default you are using the Google Sheets API authorization information (Client Id, Client Secret & Developer Token) provided by KingswaySoft, which is provided for your convenience when setting up the connection, and it should NEVER be used for production purposes. To obtain your own Google Sheets API authorization credentials for product use, please follow the instructions in the link below to create your own application registration with Google: https://developers.google.com/sheets/api/docs/guides/signup

Path to Token File

This option allows you to specify the path to the token file on the file system.

Token File Password

This option allows you to specify the password of the selected token file.

Key File Type (Available only when Service Account is selected) (since v21.1)

Specify the private key file format that was downloaded from Google, available options are:

  • JSON
  • P12

In order to work with the Service Account option, a service account would need to be created in Google Console to generate a certificate key. The following steps can be used for that:

  • Log in to the Google Cloud Platform Console

  • Navigate to IAM & Admin Console.

  • Choose "Service Accounts" from the list, and then click on "Create Service Account".

  • Provide the "Service Account Name", and the "Service Account Id" would be auto-populated based on the Name.

  • Give permissions if required by switching to the "Permissions" tab.

  • Choose the "Keys" tab, and then click on "Add Key" and select "Create New Key".

  • From the window that pops up, download the private key file.

Service Account (Available only when Service Account is selected)

The Service Account option allows you to specify the account which will be used to connect to your Google service.

Certificate Location (Available only when Service Account is selected)

Allows you to specify the location of the certificate that will be used for authentication. There are two options available:

  • Store
  • File System
Certificate Thumbprint (Available only when Service Account is selected)

This option allows you to specify the thumbprint of the selected certificate in order to authenticate using your Google Service. Account. Available only when Store is selected as Certificate Location.

Certificate File Path

Provide the path to the certificate file to use for authentication. Click the ellipses button to browse the file system for the certificate. This option is available when you choose File System as Certificate Location.

Note: The component supports Azure Blob Shared Access Signature (SAS) URL in the certificate path.

Certificate File Password

Provide the password to the certificate file. This option is available when you choose File System as the Certificate Location.

Test Connection

After all the connection information has been provided, click the Test Connection button to test if the connection settings entered are valid.

Advanced Settings Page

SSIS Google Sheets Connection - Advanced Settings

Proxy Server Settings

The Proxy Server Settings allows you to specify how you want to configure the proxy server.

Proxy Mode
The Proxy Mode option allows you to specify how you want to configure the proxy server setting. There are three options available:
  • No Proxy
  • Auto-detect (Using system-configured proxy)
  • Manual
Proxy Server
Using the Proxy Server option, you can provide a proxy server to connect to Google Sheets.
Port
The Port option allows you to specify the port number of the proxy server for the connection.
Username
The Username option allows you to specify the proxy user account.
Password
The Password option allows you to specify the proxy user’s password.

Note: Proxy Password is not included in the Google Sheets connection manager's ConnectionString property by default. This is done by design for security reasons. However, you can include it in your ConnectionString if you want to parameterize your connection manager. The format would be ProxyPassword=myProxyPassword; (make sure you have a semicolon as the last character). It can be anywhere in the ConnectionString.

Misc
Timeout (secs)
The Timeout (secs) option allows you to specify a timeout value in seconds for the connection. The default value is 120 seconds.
API Throttling Rate
The API Throttling Rate option allows you to restrict how many requests you want to send to Sheets per second. While Google Sheets doesn't limit the number of requests a client application can send during a specific time window, continually sending requests can exceed the rate limit and cause RateExceededError. This rate is set to 10 and you can adjust upward from there to optimize your throughput without exceeding the rate limit.
Retry on Intermittent Errors
This is an option designed to help recover from possible intermittent outages or disruption of service. It prevents the integration process from stopping due to temporary issues. Enabling this option will allow service calls to be retried upon certain types of failure. A service call may be retried up to 3 times before an exception is fired. Retries occur after 0 seconds, 15 seconds, and 60 seconds.

Warning: We have designed our retry feature carefully such that the retry should only occur when it is deemed safe to do so; however, in some occasions, such retry service calls could result in the creation of duplicate data.