All guides
Setup guide

Google API setup and verification

Create the right Cloud project and OAuth client, then complete the checks required by the API you use.

Choose the API and account owner

Google sign-in, YouTube, Business Profile and Drive can use different APIs, scopes and access checks. Create or select the Cloud project under the organization that will operate the service. Use separate test and production configuration where appropriate.

Create and configure the project

1. Choose the project and enable the API

Open Google Cloud Console → project selector

Cloud project owner / authorized administrator

  1. Open https://console.cloud.google.com/ and check the signed-in account and selected organization.
  2. Use the project selector to choose the intended project or New Project to create one. Record its Project ID and Project number separately.
  3. Open APIs & Services → Library. Find and enable the API required by your actual feature.
  4. For YouTube, use YouTube Data API. For Business Profile, first complete its project-access prerequisite described below. For Drive, enable the API used by the installed Drive integration.

Expected result The intended project is selected and its required API is enabled or its access prerequisite is clearly identified.

If this does not happen An API enabled in a different Cloud project does not configure this OAuth client. Recheck the project selector on each screen.

2. Configure the consent information

Open Google Auth Platform → Branding / Audience / Data Access

Administrator

  1. Open Google Auth Platform. Use its setup/start action if this project has not configured OAuth yet.
  2. In Branding, enter your actual App name, monitored User support email, developer contact and the public website/policy links requested by the form.
  3. In Audience, select the audience appropriate to your actual users. Do not choose an organization-only audience when unrelated customer Google accounts need to connect.
  4. For an app in Testing, add the intended Google Test users using the current Audience controls.
  5. In Data Access, add the scopes the application actually requests. Check the scope category; requesting basic sign-in alone is different from requesting YouTube, Drive or business data.

Expected result The consent settings identify your real service and the intended test account is eligible to authorize it.

If this does not happen If the test account is blocked, check Audience and test-user membership as well as any Workspace administrator restriction.

3. Create the web OAuth client and copy values

Open Google Auth Platform → Clients

Administrator

  1. Select Create client and choose Web application for this server-side web connection.
  2. Give the client a name you can recognize, for example your product name followed by “Web Test”.
  3. In the application’s API Integration, open the corresponding Google provider and copy its complete Callback URL / Authorized redirect URI.
  4. In the Google web client, add that value under Authorized redirect URIs, then create/save the client.
  5. Copy Google Client ID into the matching application client-ID field and Client secret into its secret field. Select Save configuration in the application.
  6. Keep Authorized JavaScript origins separate from redirect URIs. Do not add the callback path as an origin or invent an origin when the integration does not need one.

Expected result The client belongs to the intended project and has the exact redirect used by this installation.

If this does not happen For redirect_uri_mismatch, compare the full redirect in the actual authorization request with this client’s saved redirect.

Google valueApplication setting
Client IDClient ID or the version-specific Google OAuth Client ID label.
Client secretClient Secret or Google OAuth Client Secret, privately.
Full application callbackGoogle Authorized redirect URIs for that web client.
Configured scope listThe actual provider permissions plus the declared Data Access scopes.

Submit Google verification

4. Prepare and submit verification when required

Open Selected Cloud project → Branding / Verification Center

App owner

  1. Check the actual public audience and requested scopes. Identify whether brand/data-access verification is required for this app or an applicable exception exists.
  2. Complete the requested domain/branding checks. Use the current Verify Branding and Publish branding actions when that process is offered. A branding result does not itself approve sensitive scopes.
  3. Open Verification Center for data-access requirements. Confirm that declared scopes match the real authorization request.
  4. Add a separate reason for each requested sensitive/restricted scope, the current demonstration video and the exact reviewer path. Explain the real data use and retention/deletion behavior.
  5. Complete the required form and submit it. Record the actual request state and respond through the project’s verification process.
  6. After a decision, check approved access and Audience. Reconnect the test account as needed and repeat the actual API action.

Expected result The selected project records the actual verification result and the required feature works with the granted scopes.

If this does not happen Follow any specific unresolved verification item. Restricted scopes may need an additional assessment; do not treat a brand-only result as complete approval.

YouTube: test the channel and publishing

Use the YouTube provider’s Callback URL and its exact configured scopes. The source default includes broad YouTube access; it is a configuration default, not a recommendation to request more than the implemented feature needs.

  1. Connect a permitted test channel, prepare a short original test video and choose the visibility actually offered by the current integration and provider.
  2. Run the supported publishing action. Check the video’s real processing state and visibility in YouTube, not only a queued/uploaded status in the application.
  3. Check quota/access separately. Additional quota requests can require a YouTube compliance audit. If the API client’s control/ownership changes, check YouTube’s change-of-control process.

Business Profile: project approval is separate

Business Profile: request project access, then connect

Open Google Cloud project + the official Business Profile API access form

Business owner/manager and Cloud administrator

  1. Confirm the Business Profile meets Google’s current access prerequisites and the application email belongs to an authorized owner/manager.
  2. In the intended Cloud project’s dashboard, copy Project number. This is different from the readable Project ID.
  3. Use the official Business Profile API contact form linked in the references. Choose Application for Basic API Access, enter that project number and complete the business details.
  4. After project approval, enable the required Business Profile APIs and complete the web OAuth client setup above.
  5. For LocalBoost AI, use its Google Business Profile integration and copy Authorized redirect URI from that screen. Its source default path is /portal/integrations/google-business/callback.
  6. For StackPosts, the channel provider uses a different source default path: /integrations/google-business-profile/location. Always copy the full URL shown on the running installation.
  7. Connect the permitted managing Google account. Select/map the intended test location, sync the supported data and verify the business identity before testing a reply/post.

Expected result The correct project has API access and the intended location is mapped in the application.

If this does not happen If quota/access is unavailable, check project approval first. If a location is absent, check the connecting account’s location access. Approval does not grant access to other businesses.

Google currently lists an eligible verified, active Business Profile and its business website among the access prerequisites. Follow the current official prerequisite page before applying.

Drive: verify the implemented access model

For StackPosts Drive automation, the source uses its own OAuth callback and push-notification URL. Copy both from that integration; do not reuse the YouTube redirect. Select scopes based on the actual file-discovery/watch behavior. Google recommends drive.file for suitable user-selected files, but it does not automatically replace broader access used by an existing implementation.

  1. Authorize only the permitted test Google account and use a disposable test folder/file.
  2. Run the supported connection/automation test and check the actual trigger/run history.
  3. If the implementation requests restricted Drive access, complete the applicable verification/assessment process before production use. Do not describe it as a file-picker-only integration unless that is what it implements.

Common problems

ProblemWhat to check
redirect_uri_mismatchCompare the exact OAuth client redirect with the URL in the application’s actual request.
Access blocked or test user cannot authorizeCheck Audience, test-user membership, Workspace restrictions and required verification.
Business Profile quota is zero / API unavailableCheck project-specific API approval and enabled APIs.
Channel/location is missingCheck the signed-in Google account and its access to that asset.
OAuth approved but feature still failsCheck the feature’s specific API, granted scopes, quota and actual provider error.

Source settings and official references

These are fields and default paths found in the reviewed source version. An installed module or a source default does not prove platform approval. Copy the complete URL shown by your running installation; do not paste a path by itself into a developer console.

StackPosts — YouTube / AppChannelYoutubeChannels
Setting labelSource information
StatusUse the value shown by your installation or issued for your app.
Client IDUse the value shown by your installation or issued for your app.
Client SecretUse the value shown by your installation or issued for your app.
API KeyUse the value shown by your installation or issued for your app.
Permissionshttps://www.googleapis.com/auth/youtube https://www.googleapis.com/auth/userinfo.email (source default; review necessity and actual granted access before requesting)
Callback URL/integrations/youtube/channel

Version: 1d0944d30f606782c9abf5b878224cdd3cd09b99

Open the source definition
StackPosts — Google Business Profile / AppChannelGBPLocations
Setting labelSource information
StatusUse the value shown by your installation or issued for your app.
Client IDUse the value shown by your installation or issued for your app.
Client SecretUse the value shown by your installation or issued for your app.
API KeyUse the value shown by your installation or issued for your app.
Permissionshttps://www.googleapis.com/auth/business.manage https://www.googleapis.com/auth/userinfo.email (source default; review necessity and actual granted access before requesting)
Callback URL/integrations/google-business-profile/location

Version: 1d0944d30f606782c9abf5b878224cdd3cd09b99

Open the source definition
StackPosts — Google Drive Automation / AppAutomation
Setting labelSource information
StatusUse the value shown by your installation or issued for your app.
OAuth Client IDUse the value shown by your installation or issued for your app.
OAuth Client SecretUse the value shown by your installation or issued for your app.
OAuth scopesUse the value shown by your installation or issued for your app.
OAuth callback URLUse the value shown by your installation or issued for your app.
Push notification URLUse the value shown by your installation or issued for your app.

Version: 1d0944d30f606782c9abf5b878224cdd3cd09b99

Open the source definition
LocalBoost AI — Google Business Profile / AppGoogleBusiness
Setting labelSource information
StatusUse the value shown by your installation or issued for your app.
Google OAuth Client IDUse the value shown by your installation or issued for your app.
Google OAuth Client SecretUse the value shown by your installation or issued for your app.
Authorized redirect URIUse the value shown by your installation or issued for your app.
OAuth scopehttps://www.googleapis.com/auth/business.manage (source default; review necessity and actual granted access before requesting)

Version: 5af0236c6d99c50079f5ab8b8fb035506634bd8d

Open the source definition

Where a URL is computed from configuration, the source table intentionally asks you to use the installation’s displayed value. Source defaults are not current approval evidence.