我在应用程序中使用了Google Drive API。我已经从Google驱动器中删除了文件,但listfiles函数仍然返回那些已删除的文件。有什么解决方案可以避免这种情况。这是我的API的功能
router.post('/', Authorise, (req, res, next) => {
const auth = req.auth;
const drive = google.drive({version: 'v3', auth});
drive.files.list({
pageSize: 10,
fields: 'nextPageToken, files(id, name)',
}, (err, rslt) => {
if(err){
res.status(500).json(err);
}
else{
const files = rslt.data.files;
if(files.length){
res.status(200).json(files);
}
else{
res.status(200).json({message: "No files found"})
}
}
});
});
答案 0 :(得分:1)
您可以使用此查询:
await this.drive.files.list({
q: 'trashed=false',
});
这样就不会返回文件夹中已删除的文件。
答案 1 :(得分:0)
您可以在元数据(https://developers.google.com/drive/api/v3/reference/files)中检查布尔值“ trashed”的值。
您的问题可能来自删除和删除之间的区别:
- 垃圾:https://developers.google.com/drive/api/v2/reference/files/trash <- 这是V2 API,我不知道它是否可以在v3上使用
- 删除:https://developers.google.com/drive/api/v3/reference/files/delete
编辑:您还可以运行以下命令: https://developers.google.com/drive/api/v3/reference/files/emptyTrash
答案 2 :(得分:0)
检查垃圾箱。您将在此处找到已删除的文件。这就是为什么它返回这些文件的原因。