Sample code for 30+ languages & platforms
C#

Delete All Files

See more Google Drive Examples

Permanently deletes all files owned by the user without moving it to the trash.

This example works by first getting a list of all fileIds, and then iterating over the list to delete each file.

See Google Drive Files delete for more information.

Chilkat C# Downloads

C#
bool success = false;

success = true;

// It requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

// This example uses a previously obtained access token having permission for the 
// Google Drive scope.

Chilkat.AuthGoogle gAuth = new Chilkat.AuthGoogle();
gAuth.AccessToken = "GOOGLE-DRIVE-ACCESS-TOKEN";

Chilkat.Rest rest = new Chilkat.Rest();

// Connect using TLS.
bool bAutoReconnect = true;
success = rest.Connect("www.googleapis.com",443,true,bAutoReconnect);

// Provide the authentication credentials (i.e. the access token)
rest.SetAuthGoogle(gAuth);

// Get 10 results per page for testing.  (The default page size is 100, with a max of 1000.
rest.AddQueryParam("pageSize","10");

Chilkat.JsonObject json = new Chilkat.JsonObject();
int i;
int numFiles;

// Send the request for the 1st page.
string jsonResponse = rest.FullRequestNoBody("GET","/drive/v3/files");

int pageNumber = 1;
string pageToken;
bool bContinueLoop = rest.LastMethodSuccess && (rest.ResponseStatusCode == 200);

string fileId;
Chilkat.StringArray saFileIds = new Chilkat.StringArray();

while (bContinueLoop == true) {

    Debug.WriteLine("---- Page " + Convert.ToString(pageNumber) + " ----");
    json.Load(jsonResponse);

    numFiles = json.SizeOfArray("files");
    i = 0;
    while (i < numFiles) {
        json.I = i;
        fileId = json.StringOf("files[i].id");
        Debug.WriteLine("name: " + json.StringOf("files[i].name"));
        Debug.WriteLine("id: " + fileId);
        saFileIds.Append(fileId);
        i = i + 1;
    }

    // Get the next page of files.
    // If the "nextPageToken" is present in the JSON response, then use it in the "pageToken" parameter
    // for the next request.   If no "nextPageToken" was present, then this was the last page of files.
    pageToken = json.StringOf("nextPageToken");
    bContinueLoop = false;
    bool bHasMorePages = json.LastMethodSuccess;
    if (bHasMorePages == true) {
        rest.ClearAllQueryParams();
        rest.AddQueryParam("pageSize","10");
        rest.AddQueryParam("pageToken",pageToken);
        jsonResponse = rest.FullRequestNoBody("GET","/drive/v3/files");
        bContinueLoop = rest.LastMethodSuccess && (rest.ResponseStatusCode == 200);
        pageNumber = pageNumber + 1;
    }

}

// Before actually deleting, check for errors...
if (rest.LastMethodSuccess != true) {
    Debug.WriteLine(rest.LastErrorText);
    return;
}

// A successful response will have a status code equal to 200.
if (rest.ResponseStatusCode != 200) {
    Debug.WriteLine("response status code = " + Convert.ToString(rest.ResponseStatusCode));
    Debug.WriteLine("response status text = " + rest.ResponseStatusText);
    Debug.WriteLine("response header: " + rest.ResponseHeader);
    Debug.WriteLine("response JSON: " + jsonResponse);
    return;
}

// OK, we have the full list of files.  Delete each..
Chilkat.StringBuilder sbPath = new Chilkat.StringBuilder();
numFiles = saFileIds.Count;
i = 0;
while (i < numFiles) {
    fileId = saFileIds.GetString(i);

    rest.ClearAllQueryParams();

    sbPath.Clear();
    sbPath.Append("/drive/v3/files/");
    sbPath.Append(fileId);

    jsonResponse = rest.FullRequestNoBody("DELETE",sbPath.GetAsString());
    if (rest.LastMethodSuccess != true) {
        Debug.WriteLine(rest.LastErrorText);
        return;
    }

    // A successful response will have a status code equal to 204 and the response body is empty.
    // (If not successful, then there should be a JSON response body with information..)
    if (rest.ResponseStatusCode != 204) {
        Debug.WriteLine("response status code = " + Convert.ToString(rest.ResponseStatusCode));
        Debug.WriteLine("response status text = " + rest.ResponseStatusText);
        Debug.WriteLine("response header: " + rest.ResponseHeader);
        Debug.WriteLine("response JSON: " + jsonResponse);
        return;
    }

    i = i + 1;
    Debug.WriteLine(Convert.ToString(i) + ": Deleted " + fileId);
}

Debug.WriteLine("All Files Deleted.");