mirror of
https://github.com/open-webui/open-webui
synced 2025-06-08 15:37:22 +00:00
fix: Add comprehensive logging and error handling in Google Drive picker callback
This commit is contained in:
parent
a865420cb1
commit
4718239353
@ -111,31 +111,49 @@ export const createPicker = () => {
|
|||||||
.setCallback((data: any) => {
|
.setCallback((data: any) => {
|
||||||
console.log('Picker callback received:', data);
|
console.log('Picker callback received:', data);
|
||||||
if (data[google.picker.Response.ACTION] === google.picker.Action.PICKED) {
|
if (data[google.picker.Response.ACTION] === google.picker.Action.PICKED) {
|
||||||
|
try {
|
||||||
console.log('File picked from Google Drive');
|
console.log('File picked from Google Drive');
|
||||||
const doc = data[google.picker.Response.DOCUMENTS][0];
|
const doc = data[google.picker.Response.DOCUMENTS][0];
|
||||||
|
console.log('Document object:', doc);
|
||||||
|
|
||||||
const fileId = doc[google.picker.Document.ID];
|
const fileId = doc[google.picker.Document.ID];
|
||||||
const fileName = doc[google.picker.Document.NAME];
|
const fileName = doc[google.picker.Document.NAME];
|
||||||
const fileUrl = doc[google.picker.Document.URL];
|
const fileUrl = doc[google.picker.Document.URL];
|
||||||
|
|
||||||
console.log('Selected file details:', {
|
console.log('Extracted file details:', {
|
||||||
id: fileId,
|
id: fileId,
|
||||||
name: fileName,
|
name: fileName,
|
||||||
url: fileUrl
|
url: fileUrl
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!fileId || !fileName) {
|
||||||
|
throw new Error('Required file details missing');
|
||||||
|
}
|
||||||
|
|
||||||
// Construct download URL without embedding token
|
// Construct download URL without embedding token
|
||||||
|
console.log('Constructing download URL for fileId:', fileId);
|
||||||
const downloadUrl = `https://www.googleapis.com/drive/v3/files/${fileId}?alt=media`;
|
const downloadUrl = `https://www.googleapis.com/drive/v3/files/${fileId}?alt=media`;
|
||||||
|
console.log('Download URL constructed:', downloadUrl);
|
||||||
|
|
||||||
|
console.log('Current token value:', token ? 'Token exists' : 'No token');
|
||||||
const result = {
|
const result = {
|
||||||
id: fileId,
|
id: fileId,
|
||||||
name: fileName,
|
name: fileName,
|
||||||
url: downloadUrl,
|
url: downloadUrl,
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': `Bearer ${token}`, // Use the current valid token
|
'Authorization': `Bearer ${token}`,
|
||||||
'Accept': 'application/json'
|
'Accept': 'application/json'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
console.log('Resolving picker with:', result);
|
console.log('Created result object:', {
|
||||||
|
...result,
|
||||||
|
headers: { ...result.headers, Authorization: '[REDACTED]' }
|
||||||
|
});
|
||||||
resolve(result);
|
resolve(result);
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error in picker callback:', error);
|
||||||
|
reject(error);
|
||||||
|
}
|
||||||
} else if (data[google.picker.Response.ACTION] === google.picker.Action.CANCEL) {
|
} else if (data[google.picker.Response.ACTION] === google.picker.Action.CANCEL) {
|
||||||
resolve(null);
|
resolve(null);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user