To ask Google for read-only access, SaaSMaestro needs an OAuth client from a Google Cloud project. Each workspace has its own client, set up on its Data connections tab; one Google Cloud project can serve all of them.
Check first: open the workspace’s Settings → Data connections and look at the “Google OAuth setup” box. If it says “Configured” or “Configured in .env”, it’s already done and you can go straight to connecting your Google account.
Who can do this
Owners and admins of the workspace you’re viewing. Because the change affects how everyone in the workspace signs in to Google, you’ll be asked for your password again if you haven’t entered it in the last 15 minutes.
Step by step
Click the “Google OAuth setup” box on the workspace’s Data connections tab. The setup window walks through the same five steps:
- Create or pick a Google Cloud project. Any project works.
- Enable three APIs: Google Analytics Admin API, Google Analytics Data API and Google Search Console API.
- Configure the consent screen. Choose “Internal” if every Google account you’ll connect belongs to your own Google Workspace. Otherwise choose “External”, and while the app is in Testing mode add each Google account you’ll connect as a test user.
- Create an OAuth client of type “Web application” and add the redirect URI shown in the setup window. Use its Copy button so it matches exactly.
- Paste the client credentials: the Client ID and Client secret, then click “Save credentials”.
Testing the setup
- Test credentials checks the Client ID and secret with Google without signing in.
- Test sign-in runs the full Google sign-in and, if it works, connects that account to your workspace.
The client secret is stored encrypted. To change only the Client ID, leave the secret field blank and the saved secret is kept. “Remove saved credentials” deletes them.
Common errors
| Google says | What to do |
|---|---|
redirect_uri_mismatch | The redirect URI in Google Cloud doesn’t match exactly. Copy it again from the setup window, including http or https and any trailing path. |
access_denied | The consent screen is External and in Testing mode, and this Google account isn’t a test user. Add it under the consent screen’s test users. |
| API not enabled | One of the three APIs isn’t enabled in the project. Enable it, wait a minute and try again. |
invalid_client | The Client ID or secret is wrong, or the client was deleted. Paste fresh credentials. |
Next: Connecting Google accounts.