add google slides support

This commit is contained in:
Taylor Wilsdon
2025-06-11 14:46:05 -04:00
parent 4f9804c336
commit 2ffe80290a
4 changed files with 32 additions and 68 deletions

View File

@@ -48,6 +48,10 @@ FORMS_BODY_SCOPE = 'https://www.googleapis.com/auth/forms.body'
FORMS_BODY_READONLY_SCOPE = 'https://www.googleapis.com/auth/forms.body.readonly'
FORMS_RESPONSES_READONLY_SCOPE = 'https://www.googleapis.com/auth/forms.responses.readonly'
# Google Slides API scopes
SLIDES_SCOPE = 'https://www.googleapis.com/auth/presentations'
SLIDES_READONLY_SCOPE = 'https://www.googleapis.com/auth/presentations.readonly'
# Base OAuth scopes required for user identification
BASE_SCOPES = [
USERINFO_EMAIL_SCOPE,
@@ -95,5 +99,10 @@ FORMS_SCOPES = [
FORMS_RESPONSES_READONLY_SCOPE
]
SLIDES_SCOPES = [
SLIDES_SCOPE,
SLIDES_READONLY_SCOPE
]
# Combined scopes for all supported Google Workspace operations
SCOPES = list(set(BASE_SCOPES + CALENDAR_SCOPES + DRIVE_SCOPES + GMAIL_SCOPES + DOCS_SCOPES + CHAT_SCOPES + SHEETS_SCOPES + FORMS_SCOPES))
SCOPES = list(set(BASE_SCOPES + CALENDAR_SCOPES + DRIVE_SCOPES + GMAIL_SCOPES + DOCS_SCOPES + CHAT_SCOPES + SHEETS_SCOPES + FORMS_SCOPES + SLIDES_SCOPES))

View File

@@ -17,7 +17,8 @@ from auth.scopes import (
CALENDAR_READONLY_SCOPE, CALENDAR_EVENTS_SCOPE,
SHEETS_READONLY_SCOPE, SHEETS_WRITE_SCOPE,
CHAT_READONLY_SCOPE, CHAT_WRITE_SCOPE, CHAT_SPACES_SCOPE,
FORMS_BODY_SCOPE, FORMS_BODY_READONLY_SCOPE, FORMS_RESPONSES_READONLY_SCOPE
FORMS_BODY_SCOPE, FORMS_BODY_READONLY_SCOPE, FORMS_RESPONSES_READONLY_SCOPE,
SLIDES_SCOPE, SLIDES_READONLY_SCOPE
)
# Service configuration mapping
@@ -28,7 +29,8 @@ SERVICE_CONFIGS = {
"docs": {"service": "docs", "version": "v1"},
"sheets": {"service": "sheets", "version": "v4"},
"chat": {"service": "chat", "version": "v1"},
"forms": {"service": "forms", "version": "v1"}
"forms": {"service": "forms", "version": "v1"},
"slides": {"service": "slides", "version": "v1"}
}
@@ -66,6 +68,10 @@ SCOPE_GROUPS = {
"forms": FORMS_BODY_SCOPE,
"forms_read": FORMS_BODY_READONLY_SCOPE,
"forms_responses_read": FORMS_RESPONSES_READONLY_SCOPE,
# Slides scopes
"slides": SLIDES_SCOPE,
"slides_read": SLIDES_READONLY_SCOPE,
}
# Service cache: {cache_key: (service, cached_time, user_email)}