Skip to content

Google Drive Node: Service Accounts do not have storage quota #26050

@arsanysamuel

Description

@arsanysamuel

Bug Description

Using the google drive node to create/update/copy/upload a file, authenticated with a google cloud service account that has an Editor access to a shared drive folder that's owned by a personal google account, it produces the error in the screenshot

Image

To Reproduce

  1. Create a service account in a GCP project, create a JSON key file for it
  2. Share a folder from your personal google drive account with the service account with Editor access
  3. Use the Google Drive n8n node to copy/create a file inside the shared folder
  4. Use the JSON key file to authenticate with google using the service account
  5. Execute the node

Expected behavior

The service account should have the permission to create files in shared folders in google drive.

Debug Info

Error details:

{
  "errorMessage": "Forbidden - perhaps check your credentials?",
  "errorDescription": "Service Accounts do not have storage quota. Leverage shared drives (https://developers.google.com/workspace/drive/api/guides/about-shareddrives), or use OAuth delegation (http://support.google.com/a/answer/7281227) instead.",
  "errorDetails": {
    "rawErrorMessage": [
      "Request failed with status code 403"
    ],
    "httpCode": "403",
    "errorData": {
      "error": {
        "code": 403,
        "message": "Service Accounts do not have storage quota. Leverage shared drives (https://developers.google.com/workspace/drive/api/guides/about-shareddrives), or use OAuth delegation (http://support.google.com/a/answer/7281227) instead.",
        "errors": [
          {
            "message": "Service Accounts do not have storage quota. Leverage shared drives (https://developers.google.com/workspace/drive/api/guides/about-shareddrives), or use OAuth delegation (http://support.google.com/a/answer/7281227) instead.",
            "domain": "usageLimits",
            "reason": "storageQuotaExceeded"
          }
        ]
      }
    }
  },
  "n8nDetails": {
    "nodeName": "Copy Template file",
    "nodeType": "n8n-nodes-base.googleDrive",
    "nodeVersion": 3,
    "resource": "file",
    "operation": "copy",
    "time": "2/19/2026, 5:56:39 PM",
    "n8nVersion": "2.8.3 (Self Hosted)",
    "binaryDataMode": "filesystem",
    "stackTrace": [
      "NodeApiError: Forbidden - perhaps check your credentials?",
      "    at ExecuteContext.googleApiRequest (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce/node_modules/n8n-nodes-base/nodes/Google/Drive/v2/transport/index.ts:65:9)",
      "    at processTicksAndRejections (node:internal/process/task_queues:105:5)",
      "    at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce/node_modules/n8n-nodes-base/nodes/Google/Drive/v2/actions/file/copy.operation.ts:123:19)",
      "    at ExecuteContext.router (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce/node_modules/n8n-nodes-base/nodes/Google/Drive/v2/actions/router.ts:29:26)",
      "    at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce/node_modules/n8n-nodes-base/nodes/Google/Drive/v2/GoogleDriveV2.node.ts:25:10)",
      "    at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_4dbefa9881a7c57a9e05a20ce4387c10/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1039:8)",
      "    at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_4dbefa9881a7c57a9e05a20ce4387c10/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1218:11)",
      "    at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_4dbefa9881a7c57a9e05a20ce4387c10/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1655:27",
      "    at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_4dbefa9881a7c57a9e05a20ce4387c10/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2298:11"
    ]
  }
}

Operating System

Hostinger n8n hosting service

n8n Version

2.8.3

Node.js Version

N/A

Database

SQLite (default)

Execution mode

main (default)

Hosting

self hosted

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions