gemini-cli-extensions / gemini-cli-extensions/workspace

OAuth scope upgrade needed: spreadsheets.readonly → spreadsheets for write tools

Open
#253 5 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
638
Forks
107
PR merge metrics
No merged PRs in 30d

Description

Summary

Implementing Google Sheets write tools (create, update, append, clear, add/delete sheet) requires upgrading the OAuth scope from spreadsheets.readonly to spreadsheets (full read/write access).

The current scope is defined in workspace-server/src/index.ts:

'https://www.googleapis.com/auth/spreadsheets.readonly',

This needs to become:

'https://www.googleapis.com/auth/spreadsheets',

Why this matters

This scope change requires updating the Google OAuth consent screen configuration — it cannot be shipped as a code-only change. The Google Cloud project's OAuth consent screen must be configured to request the broader spreadsheets scope, and users will need to re-authorize to grant the new permission.

What this unblocks

There are several open feature requests that all depend on Sheets write access:

  • #232 — sheets.insertText
  • #242 — sheets.create
  • #244 — sheets.batchInsertText
  • #87 — Support direct appending to Google Sheets

We have a working implementation ready (with tests) for the following tools, pending this scope change:

Tool Description
sheets.updateRange Write values to a specific range
sheets.appendRange Append rows after last data
sheets.clearRange Clear values from a range
sheets.createSpreadsheet Create a new spreadsheet
sheets.addSheet Add a new tab to an existing spreadsheet
sheets.deleteSheet Delete a tab by its numeric sheet ID

Considerations

  • Per #111, some users may want granular control over scopes. This change should ideally be paired with a mechanism to opt in/out of write scopes.
  • Per #86, changing scopes triggers a re-authorization prompt for existing users — the UX for this should be considered.

Action needed

The Google Cloud project owner / team needs to:

  1. Update the OAuth consent screen to include the spreadsheets scope
  2. Ensure the scope is approved for production use (if the app is verified)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in workspace-server/src/index.ts around line 84, then review the Google Cloud OAuth consent screen configuration and the re-authorization implications described in the issue. Done means the code requests the full spreadsheets scope, the consent screen includes and approves it for production, and the Sheets write tools can be used.

Written by the indexing model from the issue text.

Assessment

Tech stack
google-cloud, typescript
Domain
authentication, cloud
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.