Overview
Google Analytics and Spreadsheets (Google Docs) will be shutting down their authentication mechanism, Google OAuth 1.0, as of April 20, 2015. As a consequence Fredhopper customers are required to migrate to the new authentication mechanism, OAuth 2.0, prior to this deadline.
To help prepare customer for the upcoming Google Authenticator changes, our Fredhopper Team have devised the following step-by-step guide for customers utilising Google as a data source, whether Google Analytics or Google Docs.
The guide outlines the steps to Create a Google Service Account Email and Grant Necessary Permissions, enabling the Fredhopper Team to migrate your customer ETL transformations to the new authentication protocol for Google's Products, OAuth 2.0.
Please note: This guide defines only the Prerequisites necessary for the Fredhopper Team to commence migration.
Who needs to be involved?
-
Customer
- You will need to appoint an internal resource with administrative access to your Google account(s).
- This person will need to execute the the step by step guide below.
-
Fredhopper Customer Support/Fredhopper PS Consultant
- Will be appointed once changes to your environment have been completed and confirmed.
Step by Step Guide
All Customers: OAuth 2.0 Generation
| Please note Google are actively amending the user interface pages on a ongoing basis. Whilst we have endeavoured to clearly document a step by step guide, some variance may be experienced when configuring the changes in your environment. |
| The amendments as described below will need to made in your Master Account. |
| Click on the thumbnail to the right of the step to enhance the image! |
| Please do not remove the original fh.<customer>@gmail.com account as this continues to be in use by Fredhopper PS for consulting purposes. |
-
Create a Project if it does not exist
- Click on Create Project button
- In "Project name" field enter <company_name>-fhaproxy, e.g. "thecompany-fhaproxy"
- Setting up Service account and p12 key
- Navigate to "IAM & Admin Service accounts" dashboard
- Click Select a project and choose the one created in #1
- Click on CREATE SERVICE ACCOUNT
- On the pop up page
- enter service account name
- for role choose "App Engine Viewer" (more on roles in here)
- Click on Furnish a new private key and select P12
- Click CREATE and the P12 KEY is downloaded. SAVE IT
- Copy the value of "Service account ID" column of the newly created SERVICE ACCOUNT SAVE IT
- Enabling Analytics API, Google Sheets API, Google Drive API for the project
- Navigate to API Manager Library
- Search for Analytics API, Sheets API and Drive API
- Click on the result and a new sheet will appear
- Click on Enable API
- After enabling it will appear in the Enabled APIs section
- Repeat steps b. to d. for Google Sheets API and Google Drive API
- Grant permission to Service account Email address
- Log in to Analytics
- Click on Admin tab
- Click on User Management
- In Add Permissions for text box, paste the service account email address copied in step #3 and grant it Read & Analyze permissions from the dropdown menu
- Click on the Add button to add the service account email to the list

The Service Account Email Address will be used by the Fredhopper AProxy only for authentication purposes and will have the minimum privileges, i.e. "Read & Analyze". - Grant read-only access to Google Spreadsheets (Google Docs) used by Fredhopper ETL

This step is only for customers with Google Spreadsheet usage in Fredhopper ETL - Log in to Google Spreadsheets
- Click on the spreadsheet(s)
- When the spreadsheet is open click on the "Share" button and a dialog box will open
- In the text box paste the Service Account Email Address saved in step #3
- Click on the drop menu and select Can View
- Click on Done
- Send the Service Account Email Address saved in step #2f with the p12 Key File saved in step #2e to Fredhopper

Service Account Email Address and p12 Key File are the necessary minimum the customer should provide in order for Fredhopper AProxy to work.
Cloud Customers
Steps describing migration of customer's ETL to use OAuth 2.0 for Google Analytics and Spreadsheets:
- Create a ticket in Fredhopper Issue Tracker using the following title: "[ps:<CUSTOMER_NAME>] Google OAuth 2.0 Migration Cloud" and attach to it the Service Account Email Address and p12 Key File.
- With the OAuth 2.0 credentials (Service Account Email Address and p12 Key File) provided, Fredhopper AProxy will be configured for the customer by Fredhopper Cloud Services Platform Team.
- ETL transformations will be updated and properly configured by the Fredhopper Data Engineering Team to use Fredhopper AProxy and retrieve the customer's data from Google.
On-Premise Customers
Please follow the instructions below:
- Create a ticket in the Jira using the following title: "[ps:<CUSTOMER_NAME>] Google OAuth 2.0 Migration On-Premise" and attach to it the Service Account Email Address and p12 Key File.
- Zip the transformations in use and upload them to the Fredhopper extranet
- zip directory:
<FREDHOPPER_HOME_DIRECTORY>/<INSTANCE>/transformations
and name the zip: original-transformations.zip. See also: https://www.fredhopper.com/learningcenter/x/4YD-/
- If the zip file is under 10MB, please attach it to the ticket, otherwise use the extranet: https://www.fredhopper.com/learningcenter/x/kwBy
- zip directory:
- With the OAuth 2.0 credentials (Service Account Email and p12 Key File) provided, Fredhopper AProxy will be configured for the customer by the Fredhopper Cloud Services Platform Team.
- The Fredhopper Data Engineering Team will provide new modified transformations via the ticket including instructions on how to install them locally.
What is Fredhopper AProxy?
- Fredhopper AProxy facilitates the use of different Google services APIs, dropping the concerns for authentication and authorization:
- AProxy maintains the necessary configurations to manage the authentication and authorization steps necessary to be able to use Google service APIs such as Google Analytics API and Google Spreadsheets (Google Docs).
- AProxy relays requests to the target Google service endpoint and provides back the eventual response.
- AProxy observes the limitations that are imposed by different Google services such as quotas and includes them in the response if necessary.
Comments
0 comments
Article is closed for comments.