Skip to content

What This Adds In Cloud Code

  • Pulls Google OAuth access tokens from site integration.
  • Avoids embedding Google key material in Cloud Code files.
  • Good fit for Analytics, Sheets, Drive, and custom Google APIs.

Quick Start

js
const GoogleAuth = require('googleauth');
const tokenPayload = GoogleAuth.token('https://www.googleapis.com/auth/analytics.readonly');

API

FunctionParamsReturnsNotes
token(scope)scope: stringobject | nullReturns token payload (for example access_token, expires_in) or null if integration missing.

Practical Example

js
const GoogleAuth = require('googleauth');
const HTTP = require('http');

const auth = GoogleAuth.token('https://www.googleapis.com/auth/analytics.readonly');
if (!auth || !auth.access_token) throw new Error('Missing Google token');

const reportRequest = {
  dimensions: [{ name: 'pagePath' }],
  metrics: [{ name: 'screenPageViews' }],
  dateRanges: [{ startDate: '7daysAgo', endDate: 'yesterday' }]
};

const report = HTTP.post(
  'https://analyticsdata.googleapis.com/v1beta/properties/123:runReport',
  JSON.stringify(reportRequest),
  {
    Authorization: `Bearer ${auth.access_token}`,
    'Content-Type': 'application/json'
  }
);

Failure Modes & Gotchas

  • Returns null when Google integration is not configured.
  • Scope must match API permission requirements.