Gmail Connector for SSIS How to Get a Specific Message for a Specific User
Prerequisites
Before we begin, make sure the following prerequisites are met:
- SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft).
- Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
- SSIS PowerPack is installed (if you are new to SSIS PowerPack, then get started!).
Get a Specific Message for a Specific User in SSIS
-
Begin with opening Visual Studio and Create a New Project.
-
Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.
In the new SSIS project screen you will find the following:
- SSIS ToolBox on left side bar
- Solution Explorer and Property Window on right bar
- Control flow, data flow, event Handlers, Package Explorer in tab windows
- Connection Manager Window in the bottom
Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link. -
Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.
-
From the SSIS toolbox drag and API Source (Predefined Templates) on the data flow designer surface, and double click on it to edit it:
-
Select New Connection to create a new connection:
-
Use a preinstalled Gmail Connector from Popular Connector List or press Search Online radio button to download Gmail Connector. Once downloaded simply use it in the configuration:
Gmail
-
Now it's time to configure authentication. Firstly, configure authentication settings in Gmail service and then proceed by configuring API Connection Manager. Start by expanding an authentication type:
Gmail authentication
To make this work you will have to create a Google Cloud project. This project forms the basis for creating, enabling, and using all Google Cloud services, including managing APIs, enabling billing, adding and removing collaborators, and managing permissions.
- Go to the Google Cloud Console
- In the Google Cloud console, go to menu IAM & Admin, and then Create a Project.
- Enter the name of the new project into the Project Name field and select the appropriate organization, then click Create.
- The console navigates to the Dashboard page and your project is created within a few minutes.
- In the Google Cloud console, go to menu More products, Google Workspace, and then Product Library.
- Now we need to enable the Gmail API.
- Search for Gmail API. Select it and then click ENABLE.
- Select the Credentials tab on the left side of the screen.
- Select the + CREATE CREDENTIALS link to reveal a drop down menu.
- In the dropdown menu, select OAuth client ID.
- If presented, click the CONFIGURE CONSENT SCREEN button and then elect the appropriate User Type based on your business needs. Otherwise, continue to step 16.
- In the OAuth consent screen tab fill in your app's website and domain information, and then click SAVE AND CONTINUE.
- In the Scopes section of the app registration, click ADD OR REMOVE SCOPES and add the following scopes:
- openid
- https://mail.google.com/
- https://www.googleapis.com/auth/userinfo.email
- https://www.googleapis.com/auth/userinfo.profile
- https://www.googleapis.com/auth/gmail.labels
- https://www.googleapis.com/auth/gmail.send
- https://www.googleapis.com/auth/gmail.modify
- https://www.googleapis.com/auth/gmail.compose
- https://www.googleapis.com/auth/gmail.readonly
- After the scopes have been added, click SAVE AND CONTINUE.
- Complete the wizard setting up scopes.
- Select the Credentials tab on the left side of the screen.
- Select the + CREATE CREDENTIALS link to reveal a drop down menu.
- In the dropdown menu, select OAuth client ID.
- In the Application type drop down, select Desktop application and then give your app client a name.
- Select the CREATE button.
- A popup window will appear that provides important information you should record for your records:
- Client ID
- Client secret
- Go to OAuth Consent Screen tab. Under Publishing Status click PUBLISH APP to ensure your refresh token doesnt expire often. If you planning to use App for Private use then do not have to worry about Verification Status after Publish.
- Back to Connection UI, Enter the client ID and client secret into the required parameters.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
User Account [OAuth] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Press Generate Token button to generate the tokens.
- Finally, hit OK button:
GmailUser Account [OAuth]https://gmail.googleapis.com/Required Parameters UseCustomApp Fill-in the parameter... Authorization URL Fill-in the parameter... Token URL Fill-in the parameter... Default API Version Fill-in the parameter... Default User Id Fill-in the parameter... Scope Fill-in the parameter... Optional Parameters Client Id Client Secret RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True Redirect URL (Only for Web App)
-
Select MessageAttachments table from the dropdown and hit Preview Data:
API Source - GmailRead / search Gmail messages, download attachments, send mail and more using Gmail REST API.GmailMessageAttachmentsRequired Parameters Id Fill-in the parameter...
-
That's it! We are done! Just in a few clicks we configured the call to Gmail using Gmail Connector.
You can load the source data into your desired destination using the Upsert Destination , which supports SQL Server, PostgreSQL, and Amazon Redshift. We also offer other destinations such as CSV , Excel , Azure Table , Salesforce , and more . You can check out our SSIS PowerPack Tasks and components for more options. (*loaded in Trash Destination)
More actions supported by Gmail Connector
Learn how to perform other actions directly in SSIS with these how-to guides:
- Download Message Attachments (With search condition)
- Get a Specific Attachment included in a Specific Message for the Current User
- Get a Specific Message for the Current User
- Get labels
- Get List of Messages for a Specific User
- Get List of Messages for the Current User
- Get message attachment for user
- Get Message Attachments (With search condition)
- Send a New Message for the specified User
- Make Generic API Request
- Make Generic API Request (Bulk Write)