How to upload file to Group Drive (Shared Drive) with Google Drive API V3?

后端 未结 1 501
南笙
南笙 2021-01-05 18:17

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

1条回答
  •  一生所求
    2021-01-05 18:39

    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;
    }
    

    0 讨论(0)
提交回复
热议问题