Skip to content

Add Send to Google Drive feature with per-user OAuth2#3637

Open
mwstowe wants to merge 1 commit into
janeczku:masterfrom
mwstowe:gdrive-send-feature
Open

Add Send to Google Drive feature with per-user OAuth2#3637
mwstowe wants to merge 1 commit into
janeczku:masterfrom
mwstowe:gdrive-send-feature

Conversation

@mwstowe

@mwstowe mwstowe commented Apr 25, 2026

Copy link
Copy Markdown

Allow users to send ebooks directly to their personal Google Drive.

Features:

  • Admin configures Google OAuth client credentials via admin panel
  • Users connect their Google Drive from their profile page
  • Send to Google Drive buttons on book detail pages
  • Supports EPUB, PDF, AZW3, CBZ, CBR formats directly
  • Convert MOBI/AZW3 to EPUB and send (when ebook-convert is available)
  • Per-user OAuth2 tokens with encrypted client secret storage
  • Background upload via WorkerThread task queue
  • Auto-creates configurable target folder in user's Drive

Technical details:

  • New TaskGdriveSend background task (cps/tasks/gdrive_send.py)
  • New gdrive_send_token and gdrive_send_folder columns on User model
  • New config_gdrive_send_client_id/secret_e on Settings model
  • PKCE support for Google OAuth flow
  • ProxyFix middleware for reverse proxy compatibility
  • Documentation at docs/gdrive-send.md

Allow users to send ebooks directly to their personal Google Drive.

Features:
- Admin configures Google OAuth client credentials via admin panel
- Users connect their Google Drive from their profile page
- Send to Google Drive buttons on book detail pages
- Supports EPUB, PDF, AZW3, CBZ, CBR formats directly
- Convert MOBI/AZW3 to EPUB and send (when ebook-convert is available)
- Per-user OAuth2 tokens with encrypted client secret storage
- Background upload via WorkerThread task queue
- Auto-creates configurable target folder in user's Drive

Technical details:
- New TaskGdriveSend background task (cps/tasks/gdrive_send.py)
- New gdrive_send_token and gdrive_send_folder columns on User model
- New config_gdrive_send_client_id/secret_e on Settings model
- PKCE support for Google OAuth flow
- ProxyFix middleware for reverse proxy compatibility
- Documentation at docs/gdrive-send.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant