Prompt
const getDriveItemContent = async (client, driveId, itemId, name) => {
try
const filePath = `/drives/${driveId}/items/${itemId}`;
const downloadPath = filePath + `/content`
// this is where we get the contents and convert to base64
const fileStream = await client.api(downloadPath).getStream();
let chunks = [];
for await (let chunk of fileStream) {
chunks.push(chunk);
}
const base64String = Buffer.concat(chunks).toString('base64');
// this is where we get the other metadata to include in response
const file = await client.api(filePath).get();
const mime_type = file.file.mimeType;
const name = file.name;
return {"name":name, "mime_type":mime_type, "content":base64String}
} catch (error) {
console.error('Error fetching drive content:', error);
throw new Error(`Failed to fetch content for ${name}: ${error.message}`);
}