使用Node.js从Google Drive指定文件夹中获取文件列表的备忘录(Google Drive API v3)
由于找不到指定文件夹ID执行的方法,所以记录下来。
环境
-
- Node.js v12.2.0
- Google Drive API v3 (過去の調べるとv2も出てくるので念のため)
基本 – Ji ben
我将进行Node.js的官方教程。
请使用以下链接查看Google Drive API v3在Node.js环境下的快速入门指南:https://developers.google.com/drive/api/v3/quickstart/nodejs
指定文件夹ID以获取信息
这是在浏览器中打开时URL的部分。
我要重新撰写教程中的函数listFiles的部分。
async function listFiles(auth) {
const drive = google.drive({version: 'v3', auth});
const FOLDER_ID = `xxxxxxxxxxxxxxxxxxxxxxxxxxxxx`; //ここにフォルダIDを指定
const params = {
q: `'${FOLDER_ID}' in parents and trashed = false`,
}
try {
const res = await drive.files.list(params);
const files = res.data.files;
if (files.length) {
console.log('Files:');
files.map((file) => {
console.log(`${file.name} (${file.id})`);
});
} else {
console.log('No files found.');
}
} catch (err) {
console.log('The API returned an error: ' + err);
}
}
个别人的感受
你怎么会指定一个这样的方式在父目录下的’$ {FOLDER_ID}’和没被垃圾归档 = false的情况下,这样的问法是怎么回事…..
大致上看了一下中文版,在参数这一部分能够知道有哪些参数,但官方的list.js示例中没有写明参数的写法,让我找起来有点困难,苦笑。
尽管有driveId、teamDriveId等不同的东西,但据说它们是不同的(我没有完全调查清楚)。
可以参考
-
- https://github.com/googleapis/google-api-nodejs-client/blob/master/samples/drive/list.js
- https://github.com/googleapis/google-api-nodejs-client/issues/1011