I have a question how do I upload a file to Group Drive (Shared Drive) with Google Drive API?
I have tried parent id for that folder (Group Drive) but that does not
I have figured it out. Turns out I just needed to add supportsAllDrives and driveId insted of teamDriveId.
public uploadFile(stream, totalSize, mime, fileName, parentId?, callback?) {
//Init upload
this.emit('progress', {
type: 'file',
name: fileName,
uploaded: 0,
size: totalSize
});
debug('Uploading file %s with parentId: %s', fileName, parentId);
//start upload
var drive = google.drive({ version: 'v3', auth: this.oauth2Client });
var fileMetadata = {
name: fileName,
driveId: "0AFiiwdVdxetuUk9PVA",
mimeType: mime
}
if (parentId) {
fileMetadata['parents'] = [parentId];
} else {
fileMetadata['parents'] = ["0AFiiwdVdxetuUk9PVA"];
}
var req = drive.files.create({
resource: fileMetadata,
media: {
mimeType: mime,
body: stream
},
supportsAllDrives: true,
}, (err, resp) => {
debug('Uploaded %s to Drive Successfully', fileName);
this.emit("fileUploaded", {
size: totalSize,
name: fileName,
error: err
});
if (callback)
callback(err, resp);
});
var interval = setInterval(() => {
this.emit("progress", {
type: 'file',
name: fileName,
uploaded: req.req.connection.bytesWritten,
size: totalSize
});
if (req.req.connection.bytesWritten >= totalSize) {
clearInterval(interval);
}
}, SPEED_TICK_TIME);
return req;
}