Fix "You need permission to access this spreadsheet" Error in Google Sheets

beginner๐Ÿ“— Google Sheets2026-03-23| Google Sheets (Web browser, Google Chrome / Firefox / Edge), Google Workspace, Google Drive

Error Message

You need permission to access this spreadsheet. Request access, or switch to an account with access.
#google-sheets#permission#sharing#access

The Error

You need permission to access this spreadsheet. Request access, or switch to an account with access.

You clicked a link and hit a brick wall. The file owner locked it down, you're signed into the wrong Google account, or the sharing settings changed. Three possible culprits โ€” let's find the right one.

Root Causes

  • The spreadsheet is private โ€” only specific people are allowed in.
  • You're signed into a different Google account than the one that was invited.
  • The sharing link expired or was revoked.
  • The file owner accidentally set link sharing to "Restricted" instead of "Anyone with the link".
  • You're accessing a file in a Google Workspace org that blocks external users by default.

Fix 1 โ€” Check Which Google Account You're Using

This is the most common cause. The link was sent to your work email (you@company.com), but you're logged in with your personal Gmail (you@gmail.com).

  • Click your profile picture (top-right corner of the browser).
  • Check which account is active.
  • Wrong account? Click Switch account and pick the correct one.
  • Reload the spreadsheet URL.

Got multiple Google accounts causing confusion? Open the link in an Incognito window. Sign in fresh with the right account โ€” no cross-account mess.

Fix 2 โ€” Request Access from the Owner

Right account, still blocked? Click Request access on the error page. Google fires off an email to the file owner. Once they approve, you'll get a notification and the sheet opens normally.

Know who owns the file? Skip the automated request and message them directly. Ask them to share it with your email address explicitly โ€” it's faster.

Fix 3 โ€” Owner: Update the Sharing Settings

Someone can't open your spreadsheet? The sharing settings are likely set to Restricted. Here's the fix:

  • Open the spreadsheet.
  • Click Share (top-right, blue button).
  • Under General access, change the dropdown from Restricted to Anyone with the link.
  • Set the role to Viewer, Commenter, or Editor as needed.
  • Click Copy link, then Done.

Re-send the new link. The old link still works once access is updated โ€” the URL doesn't change.

Fix 4 โ€” Share with a Specific Email Address

For sensitive data, "anyone with the link" is too broad. Share with individual emails instead โ€” you control exactly who gets in:

  • Open the spreadsheet โ†’ Share.
  • Type the recipient's email in the Add people and groups field.
  • Choose their permission level (Viewer / Commenter / Editor).
  • Uncheck Notify people if you don't want to send them an email, or leave it checked.
  • Click Send.

The recipient gets access immediately โ€” no permission request needed on their end.

Fix 5 โ€” Google Workspace Domain Restrictions

Some companies lock down Google Workspace so files can't leave the org. External users get blocked even with a valid link.

As the file owner or admin:

  • Open the spreadsheet โ†’ Share.
  • Check if General access shows something like Anyone at [Company] with the link.
  • Change it to Anyone with the link to allow external access.

That option is greyed out? Your Google Workspace admin has disabled external sharing at the org level. You'll need to contact them โ€” or ask them to share the file on your behalf.

Fix 6 โ€” Using the Google Sheets API? Check Service Account Permissions

Getting this error in code โ€” scripts, automation, bots โ€” usually means the service account was never granted access to the spreadsheet.

# Get your service account email first
gcloud iam service-accounts list

# Share the sheet with that service account email via Google Drive API
curl -X POST \
  'https://www.googleapis.com/drive/v3/files/{FILE_ID}/permissions' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "role": "reader",
    "type": "user",
    "emailAddress": "your-service-account@project-id.iam.gserviceaccount.com"
  }'

Or in Python with gspread:

import gspread
from google.oauth2.service_account import Credentials

scopes = [
    'https://www.googleapis.com/auth/spreadsheets',
    'https://www.googleapis.com/auth/drive'
]
creds = Credentials.from_service_account_file('service_account.json', scopes=scopes)
client = gspread.authorize(creds)

# Raises an error if the service account doesn't have access
sheet = client.open_by_key('YOUR_SPREADSHEET_ID')

Fix: Share the spreadsheet with the service account email (e.g., sheets-reader@my-project.iam.gserviceaccount.com) the same way you'd add any regular user.

Verify the Fix

  • Open the spreadsheet URL in a new tab โ€” it should load without the permission prompt.
  • Sharing with someone else? Ask them to confirm they can open it before closing the conversation.
  • For API access, re-run your script. No 403 error means it's working.
  • In the Share dialog, the user should now appear under People with access.

Prevention

  • Use explicit email sharing for sensitive files โ€” don't rely on "anyone with the link" for confidential data.
  • Separate browser profiles for separate accounts. Chrome lets you create one profile per Google account. It eliminates the wrong-account problem entirely.
  • Audit sharing settings periodically. In Google Drive, check Shared with me to review what's accessible. Workspace admins can use the admin console for org-wide audits.
  • Working with Apps Script or automation? Drop the service account email in a README. Next time you create a new sheet, you'll know exactly which account needs access.

Related Error Notes