googleapis / googleapis/google-api-nodejs-client

Google Drive | 500 Unknown Error Yet File Still Created

Aperta
#3,559 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
priority: p2 type: bug
Lingua principale
TypeScript
Stelle
12.2k
Fork
2k
Merge medio
1g 9h
PR unite (30g)
24

Descrizione

An 'Unknown Error' with code 500 keeps returning when using the Node SDK and google drive to upload a file.

I have tested that my OAuth client is working as I am able to retrieve file metadata from the drive. However, when I go to run the upload script below I get a 500 error, despite the file actually being created in Google Drive...

#### Environment details

- OS: MacOS 14.5
- Node.js version: v22.4.1
- `googleapis` version: ^134.0.0

#### Steps to reproduce

Error Message
```
Google Drive API Error: {
code: 500,
message: 'Unknown Error.',
errors: [ {} ],
status: 'UNKNOWN'
}
```

```ts
export async function uploadFileToGoogleDrive(client: drive_v3.Drive, file: File, folderId?: string) {
const upload = async () => {
const response = await client.files.create({
requestBody: {
name: file.name,
mimeType: file.type,
...(folderId ? { parents: [folderId] } : {})
},
media: {
mimeType: file.type,
body: Readable.from(file.stream()),
},
fields: 'id,name,mimeType,webViewLink,thumbnailLink',
});
console.log(response);
return response;
};

try {
// const response = await retry(upload, {
// retries: 2,
// factor: 2,
// minTimeout: 1000,
// maxTimeout: 60000,
// randomize: true,
// onFailedAttempt: error => {
// console.error(`Attempt ${error.attemptNumber} failed. There are ${error.retriesLeft} retries left.`);
// }
// });
const response = await upload()
console.log('file uploaded', response)
return response;
} catch (err) {
console.error('Error uploading file to Google Drive: ', err.stack);
if (err.response && err.response.data && err.response.data.error) {
console.error('Google Drive API Error:', err.response.data.error);
}
logger.error('Error uploading file to Google Drive', err);
throw err;
}
}
```

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start with the uploadFileToGoogleDrive entry point shown in the issue and reproduce the client.files.create call using the listed Node.js, googleapis, and macOS versions. Inspect the request and error/response behavior when the file is created despite the 500; done means the misleading failure is explained and the expected upload result is established.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
google-cloud, node.js, typescript
Ambito
api, cloud
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.