I’m working on a Node.js application and need to upload Word files (.doc/.docx) to Google Drive, then transform them into Google Docs format so users can edit them directly in my web app. I’ve been trying to use the files.copy method but keep getting an error saying the conversion isn’t supported. Has anyone successfully done this conversion?
My upload code:
const uploadResult = gdriveAPI.files.create({
requestBody: {
title: documentName,
mimeType: fileType
},
media: {
mimeType: fileType,
body: Buffer.from(fileContent).toString()
}
});
uploadResult.then(response => {
if(response.status == 200)
console.log('Upload successful');
else
console.log('Upload failed');
}).catch(error => { console.error(error) })
My conversion attempt:
gdriveAPI.files.list({
q: "mimeType = 'application/msword'",
pageSize: 50,
fields: 'nextPageToken, files(id, name)'
}, (error, response) => {
if (error) return console.log('API error: ' + error);
const documents = response.data.files;
if (documents.length) {
documents.forEach((doc) => {
let newName = (doc.name).split('.')[0];
gdriveAPI.files.copy({
fileId: doc.id,
requestBody: {
name: newName,
mimeType: 'application/vnd.google-apps.document'
}
}, (error, result) => {
if (error) return console.log('Conversion error: ' + error);
console.log('Converted:', result.data);
});
});
}
});
Any suggestions on the correct approach would be helpful!