Search K
Appearance
Appearance
Overview Use this guide to register a Google Cloud Platform app and connect it to your system as a "Third Party (Google Cloud Platform)" OAuth account. The app enables end-users to:
- Access Google Drive files and folders
- Integrate with Google Workspace (Gmail, Calendar, Docs, Sheets, Slides)
- Use Google Cloud Storage buckets and objects
- Access BigQuery datasets and analytics
- Integrate with Google Cloud AI/ML services
- Manage Google Cloud IAM and resource access
This document provides the exact permissions to grant, the redirect/authorization URLs to use, and the values to enter in your application. All values below use placeholders—replace them with your own.
The Google Cloud Platform account setup involves an OAuth flow where part of the process happens in the user's browser and part happens on the MinuteView server itself. After the user authenticates with Google and is redirected back to MinuteView, the server exchanges the authorization code for a token by calling Google's API directly. This means the MinuteView server must have outbound internet access to the following domains.
The following domains must be accessible via HTTPS (port 443) from the server where MinuteView is installed:
| Domain | Purpose |
|---|---|
oauth2.googleapis.com | OAuth token exchange, token refresh, and token validation |
www.googleapis.com | Retrieving the authenticated user's profile information and Google API calls |
Server Access Required
These domains must be reachable from the server, not just from the user's PC. The user's browser handles the initial login redirect, but the token exchange and all subsequent API calls are made server-side. If the server cannot reach these domains, the account setup will fail with a connection error even though the Google login page loaded successfully in the browser.
https://console.cloud.google.com/MinuteView Integration.Navigate to APIs & Services → Library and enable the APIs you need:
MinuteView IntegrationMinuteView OAuth Client.https://your-domain/MinuteView/PageGeneral/ServiceCallback.aspxFrom the OAuth client details:
YOUR-GOOGLE-CLIENT-ID.apps.googleusercontent.comYOUR-GOOGLE-CLIENT-SECRETDownload the JSON credentials file for safekeeping.
Google uses detailed scopes for API access:
https://www.googleapis.com/auth/drive - Full Google Drive accesshttps://www.googleapis.com/auth/drive.file - Per-file Google Drive accesshttps://www.googleapis.com/auth/gmail.readonly - Read-only Gmail accesshttps://www.googleapis.com/auth/gmail.send - Send emails via Gmailhttps://www.googleapis.com/auth/calendar - Google Calendar accesshttps://www.googleapis.com/auth/spreadsheets - Google Sheets accesshttps://www.googleapis.com/auth/documents - Google Docs accesshttps://www.googleapis.com/auth/cloud-platform - Full GCP accesshttps://www.googleapis.com/auth/devstorage.read_write - Cloud Storage accesshttps://www.googleapis.com/auth/bigquery - BigQuery accesshttps://www.googleapis.com/auth/cloud-platform.read-only - Read-only GCP accesshttps://www.googleapis.com/auth/userinfo.email - User email addresshttps://www.googleapis.com/auth/userinfo.profile - User profile informationopenid - OpenID ConnectAuthorize endpointhttps://accounts.google.com/o/oauth2/v2/auth
Token endpointhttps://oauth2.googleapis.com/token
Token Info endpointhttps://oauth2.googleapis.com/tokeninfo
Revoke endpointhttps://oauth2.googleapis.com/revoke
Use the Authorization Code flow with PKCE for enhanced security:
GET https://accounts.google.com/o/oauth2/v2/auth
?response_type=code
&client_id={ClientId}
&redirect_uri={UrlEncodedCallbackUrl}
&scope={SpaceSeparatedScopes}
&state={RandomStateParameter}
&code_challenge={PKCEChallenge}
&code_challenge_method=S256
&access_type=offline
&prompt=consentExample scopes: https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/userinfo.email
When your app receives the code at the callback:
POST to the token endpoint with:
grant_type=authorization_codeclient_id={ClientId}client_secret={ClientSecret}code={authorization_code_from_callback}redirect_uri={exact_same_redirect_uri}code_verifier={PKCEVerifier}You'll receive:
access_token (typically valid for 1 hour; use for API calls)refresh_token (long-lived; use to get new access tokens)expires_in (token lifetime in seconds)scope (granted scopes)token_type (typically "Bearer")Sign in with a user who has access to the target Google services.
Call sample endpoints to validate each capability:
GET https://www.googleapis.com/oauth2/v2/userinfoGET https://www.googleapis.com/drive/v3/filesGET https://gmail.googleapis.com/gmail/v1/users/me/messagesGET https://www.googleapis.com/calendar/v3/calendars/primary/eventsGET https://storage.googleapis.com/storage/v1/b/{bucket}/oConfirm refresh token works and tokens are stored securely.
Test file upload/download operations if applicable.
Google APIs have various quotas and rate limits:
Monitor usage in Google Cloud Console → APIs & Services → Quotas.
For server-to-server access without user interaction:
Replace placeholders and URL-encode parameters appropriately.
Authorization URL:
https://accounts.google.com/o/oauth2/v2/auth
?response_type=code
&client_id={ClientId}
&redirect_uri={UrlEncodedCallbackUrl}
&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email
&state={RandomState}
&code_challenge={PKCEChallenge}
&code_challenge_method=S256
&access_type=offline
&prompt=consentToken Exchange:
POST https://oauth2.googleapis.com/token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&client_id={ClientId}
&client_secret={ClientSecret}
&code={CodeFromCallback}
&redirect_uri={ExactSameCallbackUrl}
&code_verifier={PKCEVerifier}Token Refresh:
POST https://oauth2.googleapis.com/token
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token
&client_id={ClientId}
&client_secret={ClientSecret}
&refresh_token={RefreshToken}https://www.googleapis.com/oauth2/v2/userinfohttps://www.googleapis.com/drive/v3/fileshttps://gmail.googleapis.com/gmail/v1/users/me/messageshttps://www.googleapis.com/calendar/v3/calendars/primary/eventshttps://storage.googleapis.com/storage/v1/bhttps://bigquery.googleapis.com/bigquery/v2/projects/{project}/datasetsThis configuration enables comprehensive integration with Google Workspace applications and Google Cloud Platform services for file management, communication, analytics, and cloud computing capabilities.