【发布时间】:2022-02-01 18:29:51
【问题描述】:
我正在使用googleapis 将不同的文件上传到 Google 云端硬盘。场景是:
- 用户通过我的 REST API 提供了一个文档及其信息(我使用的是 NodeJS)。
- REST API 创建将包含文档的目录(如果该目录尚不存在)。
- REST API 将文档上传到该目录。
驱动的结构是:
/root/documents/$type/$new_document
其中$type 是用户提供的字段之一,$new_document 是用户提供的文档。
我的连接方式:
oauth2Client.setCredentials({ refresh_token: REFRESH_TOKEN });
drive_instance = google.drive({
version: 'v3',
auth: oauth2Client,
});
我想出了如何将文档上传到 Google Drive 的 root 文件夹:
}
try {
const response = await drive.files.create({
requestBody: {
name: file.name,
mimeType: file.mimetype,
},
media: {
mimeType: file.mimetype,
body: file.data,
},
});
console.log(response.data);
} catch (error) {
console.log(error.message);
}
我正在苦苦挣扎的是:
- 如果目录
/root/documents/$type不存在,如何创建它? - 如何将
$new_document上传到/root/documents/$type?
对于第二个问题,我知道docs 提供了一个parents[] 选项,它将包含所有文件夹ID。但是,我怎样才能获得/root/documents/$type 的文件夹ID?有没有办法结合这些步骤(比如可能mkdir -p 用于目录或创建目录将返回目录的 ID)。
【问题讨论】:
标签: javascript node.js google-drive-api