@inteli.city/node-red-contrib-drive-collection 1.0.1

Node-RED nodes for Google Drive and OneDrive file operations

npm install @inteli.city/node-red-contrib-drive-collection

node-red-contrib-drive-collection

Node-RED nodes for Google Drive and OneDrive file operations.

A single drive node performs all operations (upload, download, list, delete) against a provider chosen on the linked drive-config.


Nodes

Node Type Purpose
drive-config config Provider selection + OAuth2 credentials
drive operation upload / download / list / delete

drive-config

Shared credentials and provider selection.

Field Description
Provider Google Drive or OneDrive
Tenant ID Azure AD tenant (OneDrive only)
Client ID OAuth2 client ID
Client Secret Stored as a credential
Refresh Token Paste manually from your OAuth flow

The access token is refreshed automatically in memory and is never persisted.


drive

Unified node. Pick an operation in the editor (or override per-message via msg.operation).

Operations

Operation Required input Output
upload source per Input Source mode msg.payload = metadata, msg.fileId = uploaded ID
download fileId per Output Target mode (see below)
list none (defaults to root) msg.payload = array of file metadata
delete fileId (or path for OneDrive) msg.payload = { deleted: true, fileId | path }

Upload — Input Source modes

Mode Behavior
payload (default) Reads from msg.payload (Buffer or stream). msg.filePath is ignored.
file Reads from the configured File Path (or msg.filePath). msg.payload is ignored.

Download — Output Target modes

Mode Behavior
payload (default) msg.payload is the readable stream returned by the provider.
file Streams the response directly to the local filesystem. msg.payload becomes { filePath, fileId }; msg.filePath is also set. Set Overwrite to allow replacing existing files.

File modes touch the local filesystem at runtime and may not work across environments (Docker, cloud). Ensure the Node-RED process can read/write the selected paths.

Inputs

All inputs may be set on the node and overridden via msg:

Property Description
msg.operation overrides node operation (upload, download, list, delete)
msg.payload upload body when Input Source is payload (Buffer or stream)
msg.filename upload filename (default: timestamp)
msg.folderId Google Drive folder ID
msg.path OneDrive path, e.g. Documents/file.txt
msg.mimeType upload MIME type (default: application/octet-stream)
msg.fileId target file ID for download / delete
msg.filePath local source path for upload when Input Source is file
msg.outputFilePath local destination path for download when Output Target is file

Provider constraints

  • Google Drive does not support path. Use folderId.
  • OneDrive upload requires path.

Errors

All errors are normalized to { code, message } and surfaced via node.error() and the status badge. Codes:

Code Meaning
INVALID_INPUT Required input missing or empty
INVALID_OPERATION Operation is not one of the four supported
UNSUPPORTED_INPUT Input not supported for this provider (e.g. path on Google)
MISSING_CONFIG drive-config not linked
PROVIDER_NOT_INITIALIZED Config node failed to initialize the provider
NOT_FOUND API returned 404
UNAUTHORIZED API returned 401 / token refresh failed
FORBIDDEN API returned 403
FILE_EXISTS Local destination file exists and Overwrite is off
LOCAL_IO_ERROR Local filesystem read/write failure
PROVIDER_ERROR Other API failure

Raw provider errors are not propagated.


Node status

Color Meaning
Yellow In progress (shows operation name)
Green Success (ok)
Red Error (shows error code)

OAuth2 Bootstrap

These nodes use OAuth2 with a refresh token. Obtain it externally:

  • Google DriveOAuth2 Playground with scope https://www.googleapis.com/auth/drive
  • OneDrive — Azure app registration with scope Files.ReadWrite

Paste the refresh token directly into the config node. The nodes do not implement a UI for the initial OAuth flow.


Design

  • One unified node, one operation per message
  • Config node as single source of truth for credentials
  • msg.* overrides always win over node config
  • Streams over buffering — download returns a stream, not a Buffer
  • Provider-specific logic lives behind a uniform { upload, download, list, delete } interface
  • Errors are normalized to { code, message } — no raw provider errors leak
  • Manual OAuth bootstrap — no hidden auth flows

License

Apache-2.0

Node Info

Version: 1.0.1
Updated 4 days ago
License: Apache-2.0
Rating: not yet rated

Categories

Actions

Rate:

Downloads

22 in the last week

Nodes

  • drive-config
  • drive

Keywords

  • node-red
  • google-drive
  • onedrive
  • storage
  • oauth2