From 64c8bbc16a443ae7a08734e3c7d53285723fca01 Mon Sep 17 00:00:00 2001 From: "Taylor Wilsdon (aider)" Date: Sun, 15 Dec 2024 18:42:26 -0500 Subject: [PATCH] feat: Improve Google Drive file download handling --- src/lib/components/chat/MessageInput.svelte | 4 +++- src/lib/utils/google-drive-picker.ts | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 8711e308b..13e67ac47 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -501,12 +501,14 @@ try { const fileData = await createPicker(); if (fileData) { + // Pass the OAuth token along with the file data dispatch('upload', { type: 'google-drive', data: { name: fileData.name, url: fileData.url, - id: fileData.id + id: fileData.id, + token: await getAuthToken() // Include OAuth token for download } }); } diff --git a/src/lib/utils/google-drive-picker.ts b/src/lib/utils/google-drive-picker.ts index 97f0809b3..440d2e2cf 100644 --- a/src/lib/utils/google-drive-picker.ts +++ b/src/lib/utils/google-drive-picker.ts @@ -111,10 +111,12 @@ export const createPicker = () => { const fileName = doc[google.picker.Document.NAME]; const fileUrl = doc[google.picker.Document.URL]; + // Get the downloadUrl using the alt=media parameter + const downloadUrl = `https://www.googleapis.com/drive/v3/files/${fileId}?alt=media`; resolve({ id: fileId, name: fileName, - url: fileUrl + url: downloadUrl }); } else if (data[google.picker.Response.ACTION] === google.picker.Action.CANCEL) { resolve(null);