首页 > 解决方案 > Google drive nodejs api返回已删除的文件

问题描述

我在我的应用程序中使用 google drive api。我已经从谷歌驱动器中删除了文件,但 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"})
        }
    }
});

});

标签: javascriptnode.jsrestexpressgoogle-drive-api

解决方案


您可以在元数据 ( https://developers.google.com/drive/api/v3/reference/files ) 中检查布尔“已删除”的值。

您的问题可能来自丢弃和删除之间的区别:

  1. 垃圾:https ://developers.google.com/drive/api/v2/reference/files/trash <- 这是 V2 API,我不知道它是否适用于 v3
  2. 删除:https ://developers.google.com/drive/api/v3/reference/files/delete

编辑:你也可以运行这个: https ://developers.google.com/drive/api/v3/reference/files/emptyTrash


推荐阅读