Die Dateien bleiben dort, bis Sie sie selbst löschen. Sie können immer die Dateiliste von der Google Drive-API (ich benutze V3) abrufen und die Dateiliste mit ihrer ID abrufen und löschen, was auch immer Sie wollen. Sie können es noch nicht über das Web-Interface tun.
Im Folgenden ein Beispiel ist, C#, wie die Dateien Liste erhalten:
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;
}
und wie eine bestimmte Datei zu löschen:
public bool DeleteFileFromDrive(string FileID) // only to be used when you are the owner of the file. Otherwise it will have no effect.
{
try
{
FilesResource.GetRequest gr = new FilesResource.GetRequest(_CurrentDriveService, FileID);
var FileData = gr.Execute();
if (FileData.MimeType == GoogleDriveMimeTypes.GetFolderMimeTypeString())
{
var filesInFolder = GetFilesList("'" + FileID + "' in parents");
if (filesInFolder.Count > 0)
{
// directory is not empty
return false;
}
}
var requestD = _CurrentDriveService.Files.Delete(FileID);
requestD.Execute();
return true;
}
catch (Exception e)
{
System.Diagnostics.Debug.WriteLine(e.Message);
return false;
}
}
Dank @Hadar Ben David für Ihre detaillierte Antwort. Ich kenne die Anrufe, aber wenn ich all das lese, sollte ich mir sicher sein, dass die Dateien, wenn sie nicht gelöscht werden, unbegrenzt im Dienstkonto gespeichert werden, es sei denn, sie sind nicht mehr im Speicher. Richtig? Und wenn die Datei vom Dienstkonto gemeinsam genutzt wird, wird diese Datei auch auf dem Laufwerk des freigegebenen Benutzers gespeichert. Wird die Datei beim Löschen aus dem Dienstkonto auch aus dem Konto des freigegebenen Benutzers gelöscht? – Atihska
@Aihska, Das Dienstkonto und das "normale" Konto sind zwei separate Einheiten. Sie können Dateien in beiden Konten unabhängig voneinander speichern. Außerdem kann das Dienstkonto nicht über die Webbenutzeroberfläche erreicht werden. Wenn Sie also Dateien über die Google API hochladen, müssen Sie diese ebenfalls per API löschen. Wenn Sie entscheiden, Informationen zwischen ihnen zu teilen, gehorchen beide der Freigabe-Richtlinie von Google: Der Besitzer einer Datei hat die volle Kontrolle über sie und die Datei wird Speicherplatz im Konto des Besitzers nehmen. Nur der Besitzer kann die Datei löschen. Der Redakteur kann seinen eigenen Zugriff auf diese Datei löschen, aber nicht die Datei selbst. –
@Aihska, Derzeit beträgt das Kontingent des Dienstkontos 15 GB und es kann kein Upgrade durchgeführt werden, selbst wenn Sie das reguläre Konto aktualisieren. –