Google drive api 什么时候从Google Drive服务帐户中删除这些文件?

Google drive api 什么时候从Google Drive服务帐户中删除这些文件?,google-drive-api,service-accounts,Google Drive Api,Service Accounts,我想知道google drive服务帐户中的一个文件可以保存多长时间 我找不到它的默认过期时间。由于我对该帐户没有控制权,我如何知道该文件已被删除,或者如果没有,我是否必须自己从服务帐户中删除这些文件?由于您对该帐户没有控制权,我不知道您如何实际删除该帐户拥有的文件。只要所有者不删除该文件,该文件将保留在那里 将文件放入垃圾箱 要从驱动器中删除文件,可以将其 在你的垃圾桶里。你的文件将一直保存在那里,直到你清空垃圾 如果您是该文件的所有者,其他人可以查看该文件,直到您 永久删除该文件如果您不是

我想知道google drive服务帐户中的一个文件可以保存多长时间


我找不到它的默认过期时间。由于我对该帐户没有控制权,我如何知道该文件已被删除,或者如果没有,我是否必须自己从服务帐户中删除这些文件?

由于您对该帐户没有控制权,我不知道您如何实际删除该帐户拥有的文件。只要所有者不删除该文件,该文件将保留在那里

将文件放入垃圾箱

要从驱动器中删除文件,可以将其 在你的垃圾桶里。你的文件将一直保存在那里,直到你清空垃圾

如果您是该文件的所有者,其他人可以查看该文件,直到您 永久删除该文件如果您不是所有者,其他人可以看到 即使您清空了垃圾,也会删除该文件。


由于您无法控制该帐户,因此我不知道您如何实际删除该帐户拥有的文件。只要所有者不删除该文件,该文件将保留在那里

将文件放入垃圾箱

要从驱动器中删除文件,可以将其 在你的垃圾桶里。你的文件将一直保存在那里,直到你清空垃圾

如果您是该文件的所有者,其他人可以查看该文件,直到您 永久删除该文件如果您不是所有者,其他人可以看到 即使您清空了垃圾,也会删除该文件。


这与用户创建文件的方式相同(没有过期日期)。要了解任何更改(如已删除),您可以检查收件人

更改:列表

  • 列出用户的更改
检测变化

  • 对于需要跟踪文件更改的Google Drive应用程序,提供了一种有效的方法来检测所有文件的更改,包括与用户共享的文件。该集合通过提供每个文件的当前状态来工作,前提是且仅当该文件自给定时间点以来发生了更改


如果服务帐户是文件的所有者,则可以使用该帐户删除文件。您还可以检查这一点,以便了解如何检查文件/文件夹是否被删除。

这与用户创建文件的方式相同(没有过期日期)。要了解任何更改(如已删除),您可以检查收件人

更改:列表

  • 列出用户的更改
检测变化

  • 对于需要跟踪文件更改的Google Drive应用程序,提供了一种有效的方法来检测所有文件的更改,包括与用户共享的文件。该集合通过提供每个文件的当前状态来工作,前提是且仅当该文件自给定时间点以来发生了更改


如果服务帐户是文件的所有者,则可以使用该帐户删除文件。您还可以检查这一点,以便了解如何检查文件/文件夹是否已删除。

文件将保留在那里,直到您自己删除它们。 你总是可以从GoogleDriveAPI(我使用V3)获取文件列表,并获取带有ID的文件列表,然后删除你想要的任何文件。您还不能通过web界面来完成

下面是c#关于如何获取文件列表的示例:

    public List<Google.Apis.Drive.v3.Data.File> GetFilesList(string SearchQ = null)
    {
        List<Google.Apis.Drive.v3.Data.File> ListOfFiles = new List<Google.Apis.Drive.v3.Data.File>();

        FilesResource.ListRequest listRequest = _CurrentDriveService.Files.List();
        listRequest.PageSize = 1000;
        if (SearchQ != null)
        {
            listRequest.Q = SearchQ; //("'PARENT_ID' in parents");
        }
        listRequest.Fields = "nextPageToken, files(id, name,parents,mimeType,size,capabilities,modifiedTime,webViewLink,webContentLink)";
        FileList fileFeedList = listRequest.Execute();

        while (fileFeedList != null)
        {
            foreach (File file in fileFeedList.Files)
            {
                ListOfFiles.Add(file);
            }

            if (fileFeedList.NextPageToken == null)
            {
                break;
            }

            listRequest.PageToken = fileFeedList.NextPageToken;

            fileFeedList = listRequest.Execute();

        }
        return ListOfFiles;

    }

这些文件将一直保存到您自己删除它们为止。 你总是可以从GoogleDriveAPI(我使用V3)获取文件列表,并获取带有ID的文件列表,然后删除你想要的任何文件。您还不能通过web界面来完成

下面是c#关于如何获取文件列表的示例:

    public List<Google.Apis.Drive.v3.Data.File> GetFilesList(string SearchQ = null)
    {
        List<Google.Apis.Drive.v3.Data.File> ListOfFiles = new List<Google.Apis.Drive.v3.Data.File>();

        FilesResource.ListRequest listRequest = _CurrentDriveService.Files.List();
        listRequest.PageSize = 1000;
        if (SearchQ != null)
        {
            listRequest.Q = SearchQ; //("'PARENT_ID' in parents");
        }
        listRequest.Fields = "nextPageToken, files(id, name,parents,mimeType,size,capabilities,modifiedTime,webViewLink,webContentLink)";
        FileList fileFeedList = listRequest.Execute();

        while (fileFeedList != null)
        {
            foreach (File file in fileFeedList.Files)
            {
                ListOfFiles.Add(file);
            }

            if (fileFeedList.NextPageToken == null)
            {
                break;
            }

            listRequest.PageToken = fileFeedList.NextPageToken;

            fileFeedList = listRequest.Execute();

        }
        return ListOfFiles;

    }

我发现,如果您使用API从服务帐户中删除该文件(因为服务帐户是该文件的所有者),它将从访问该文件的用户的所有共享驱动器部分中删除。感谢@some1、@MrRebot和@Hadar Ben David帮助我得出这个结论。

我发现,如果您使用API从服务帐户中删除该文件(因为服务帐户是该文件的所有者),它将从访问该文件的用户的所有共享驱动器部分中删除。感谢@some1、@mrebot和@Hadar Ben David帮助我得出这个结论。

感谢@Hadar Ben David的详细回复。我知道这些电话,但读了所有这些,我应该确信,如果不删除,文件将无限期地存储在服务帐户中,除非存储空间不足。对的如果该文件由服务帐户共享,则该文件也会存储到共享用户的驱动器中。从服务帐户中删除时,文件是否也会从共享用户帐户中删除?@Atihska,服务帐户和“常规”帐户是两个独立的实体。您可以在两个帐户中分别存储文件。此外,web UI无法访问服务帐户。所以,如果你通过谷歌API上传文件,你也必须通过API删除它们。如果你决定在他们之间共享信息,他们都遵守谷歌的共享策略:文件的所有者拥有对它的完全控制权,文件将占用所有者帐户中的磁盘空间。只有所有者才能删除该文件的内容。编辑可以删除他自己对该文件的访问权限,但不能删除该文件本身。@Atihska,目前服务帐户的配额为15GB,即使升级普通帐户也无法升级。我尝试使用以下代码从api中删除一个文件(在服务帐户中删除)_service.Files.Delete(fileId.Execute();fileresource.GetRequest GetRequest=\u service.Files.Get(fileId);getRequest.Fields=“文件(id)”;文件resultFile=getRequest.Execute();if(resultFile!=null)Log.DebugFormat(“检查resultFileId:{0}”,resultFile.Id)@Atihska,我不确定你通过检查刚刚删除的文件的文件id来完成什么。谢谢@Hadar