{"registry_version":"2026.1025.387","generated_at":"2026-10-25T06:27:00Z","content_sha256":"089d16f627d9365e3d0663cc8069203706d7cb23a76c332226e29686968811a5","signed":true,"signature":{"key_id":"ed25519:74ca19268e364242","algorithm":"ed25519","expires_at":"2026-11-24T06:27:09Z","expired":false,"manifest":"/registry/manifest.json"},"id":"google/sheets-drive-api","name":"Google Sheets and Drive APIs (OAuth app)","vendor":"Google","status":"researched","last_verified":null,"last_researched":"2026-10-25","summary":"Enable the Sheets and/or Drive API in a Google Cloud project, configure the OAuth consent screen, create an OAuth client, and pass OAuth app verification if the app asks for sensitive or restricted scopes.","account_model":{"summary":"A Google account owns a Google Cloud project; the OAuth client and consent screen live in that project.","accounts":[{"name":"Google account","kind":"personal","owned_by":"the person","required":true},{"name":"Google Cloud project","kind":"project","parent":"Google account","required":true,"note":"Use a Workspace organisation project if the app is only for your own Workspace users (Internal audience)."}]},"prerequisites":[{"need":"A Google Cloud project you own"},{"entry":"google/oauth-verification","note":"Only needed for External apps that request sensitive (e.g. spreadsheets) or restricted (e.g. drive, drive.readonly) scopes."}],"identity_requires":[],"have_ready":[{"kind":"app_privacy_policy_url","description":"A public privacy policy URL on your app's domain","why":"Required on the consent screen branding for verification.","needed_for":["verification"],"auto_check":"website_live","source_url":"https://support.google.com/cloud/answer/13463073"},{"kind":"live_website","description":"A public home page for the app on a domain you have verified","why":null,"needed_for":["verification"],"auto_check":"website_live","source_url":"https://support.google.com/cloud/answer/13463073"}],"steps":[{"id":"enable_apis","title":"Enable the Sheets and/or Drive API","summary":"In the API Library of your project, enable the Google Sheets API and/or the Google Drive API.","route":"copilot","gate":"human_submit","human_only":true,"gate_label":"You press submit","depends_on":[],"optional":false,"url":"https://console.cloud.google.com/apis/library/sheets.googleapis.com","lead_time":null,"preflight":[],"captures":null},{"id":"consent_screen","title":"Configure the consent screen (Google Auth platform)","summary":"Under Google Auth platform > Branding enter app name and support email, choose Internal or External audience, add a contact email, and accept the Google API Services User Data Policy.","route":"copilot","gate":"human_terms","human_only":true,"gate_label":"You accept the terms","depends_on":["enable_apis"],"optional":false,"url":"https://console.cloud.google.com/auth/branding","lead_time":null,"preflight":[],"captures":null},{"id":"choose_scopes","title":"Choose the narrowest scopes","summary":"Under Data Access add scopes. Prefer drive.file (non-sensitive) where possible. spreadsheets and spreadsheets.readonly are sensitive; drive and drive.readonly are restricted and bring a security assessment. For External apps, add test users under Audience.","route":"copilot","gate":"human_submit","human_only":true,"gate_label":"You press submit","depends_on":["consent_screen"],"optional":false,"url":"https://console.cloud.google.com/auth/scopes","lead_time":null,"preflight":[],"captures":null},{"id":"create_client","title":"Create an OAuth client ID","summary":"Under Google Auth platform > Clients create a client of the right type (e.g. Web application) with your redirect URIs, then copy the client ID and secret.","route":"copilot","gate":"human_submit","human_only":true,"gate_label":"You press submit","depends_on":["consent_screen"],"optional":false,"url":"https://console.cloud.google.com/auth/clients","lead_time":null,"preflight":[],"captures":"GOOGLE_OAUTH_CLIENT_SECRET"},{"id":"verification","title":"Publish and verify the app (sensitive/restricted scopes)","summary":"For External apps using sensitive or restricted scopes, publish to production and submit for OAuth app verification (see google/oauth-verification). Restricted scopes also need an annual CASA security assessment if the data reaches your servers. Internal apps skip this.","route":"guided","gate":"third_party_review","human_only":true,"gate_label":"The provider reviews it","depends_on":["choose_scopes","create_client"],"optional":true,"url":"https://console.cloud.google.com/auth/verification","lead_time":{"official":{"text":"Google does not state a fixed timeline; for restricted scopes the security assessment is the final step and Google's Trust and Safety team contacts the developer to start it.","source_url":"https://support.google.com/cloud/answer/13465431","source_title":"Security Assessment"},"reported":null,"typical_minutes":null},"preflight":[],"captures":null}],"gates":[{"step":"enable_apis","gate":"human_submit","label":"You press submit"},{"step":"consent_screen","gate":"human_terms","label":"You accept the terms"},{"step":"choose_scopes","gate":"human_submit","label":"You press submit"},{"step":"create_client","gate":"human_submit","label":"You press submit"},{"step":"verification","gate":"third_party_review","label":"The provider reviews it"}],"lead_times":[{"step":"verification","what":"Publish and verify the app (sensitive/restricted scopes)","official":{"text":"Google does not state a fixed timeline; for restricted scopes the security assessment is the final step and Google's Trust and Safety team contacts the developer to start it.","source_url":"https://support.google.com/cloud/answer/13465431","source_title":"Security Assessment"},"reported":null}],"outputs":[{"name":"GOOGLE_OAUTH_CLIENT_ID","description":"OAuth 2.0 client ID","secret":false,"example_format":"123456789012-abc….apps.googleusercontent.com","environments":null},{"name":"GOOGLE_OAUTH_CLIENT_SECRET","description":"OAuth 2.0 client secret","secret":true,"example_format":"GOCSPX-…","environments":null}],"renewals":[{"what":"Restricted-scope re-verification / CASA security assessment","every":"1 year","every_days":365,"source_url":"https://support.google.com/cloud/answer/13465431"}],"estimated_minutes":null,"guide_url":"https://verapli.com/guides/google/sheets-drive-api"}