【问题标题】:Google drive nodejs api returns deleted filesGoogle drive nodejs api返回已删除的文件
【发布时间】:2021-06-25 03:46:39
【问题描述】:

我在我的应用程序中使用 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"})
        }
    }
});

});

【问题讨论】:

    标签: javascript node.js rest express google-drive-api


    【解决方案1】:

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

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

    1. 垃圾:https://developers.google.com/drive/api/v2/reference/files/trash
    2. 删除:https://developers.google.com/drive/api/v3/reference/files/delete

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

    【讨论】:

      【解决方案2】:

      你可以使用这个查询:

      await this.drive.files.list({
          q: 'trashed=false',
      });
      

      这样,您文件夹中的垃圾文件不会被返回。

      【讨论】:

        【解决方案3】:

        检查垃圾箱。您会在那里找到已删除的文件。这就是它返回这些文件的原因。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-09-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多