bvstone

Moving All Files from a Google Drive Folder to the Trash Using GreenTools for Google Apps (G4G)

Posted:

Moving All Files from a Google Drive Folder to the Trash Using GreenTools for Google Apps (G4G)

This article will give a simple example of how to move all the files from a specific Google Drive folder to the Trash using the G4GGDRV addon for GreenTools for Google Apps (G4G).

This is really done in two steps:

  1. List all the files in a folder
  2. Read through that list and move each file to the trash

This example will use the ILE functions (#g4gdrv_listFiles() and #g4gdrv_trashFile()) but the commands (G4GLSTFIL and G4GTRASH) can also be used. 

Specific documentation for these commands and ILE functions can be found in the G4G Documentation.

The source for the application is as follows:

     H DFTACTGRP(*NO) ACTGRP('G4G') BNDDIR('G4G')
      ****************************************************************
      /copy qcopysrc,p.g4gdrv
      ****************************************************************
     D id              S            256
     D errorMsg        S            256
     D rc              S             10i 0
     D fileID          S            128
      ****************************************************************
       id = 'bvstone@gmail.com';

       #g4gdrv_setValue('id':id);
       #g4gdrv_setValue('folder_name':'/test folder/subfolder 1');
       rc = #g4gdrv_listFiles(errorMsg);

       if (rc < 0);
         //handle error
       endif;

       if (rc > 0);
         exec sql
           declare C1 cursor for
           select GGDFILEID from G4GDRVPF
             where lower(GGDID) = :id and
                   lower(GGDMIME) <> 'application/vnd.google-apps.folder';

         exec sql open C1;

         exec sql fetch from C1
           into :fileID;

         dow (SQLCOD = 0);
           #g4gdrv_setValue('id':id);
           #g4gdrv_setValue('file_id':fileID);
           rc = #g4gdrv_trashFile(errorMsg);

           if (rc < 0);
             //handle error
           endif;

           exec sql fetch from C1
             into :fileID;
         enddo;

         exec sql
           close C1;

       endif;

       *INLR = *ON;

The first step is to use the #g4gdrv_listFiles() function to list all the files in a specific folder in our Google Drive.  All of the entries in a specific folder will be written to the file G4GDRVPF.

The G4GDRVPF file is keyed by Google ID and that is why in the next step when we run an SQL statement to select the records we make sure to only select records for our specific ID.  That is because if someone else is running a command their data will be in this file as well, and you don't want to accidentally trash their files!

We also select anything without a mime type of "application/vnd.google-apps.folder".  This is the mime type for a folder.  Most of the mime types used by Google Drive can be found here.

For each record we process we will simply call the #g4gdrv_trashFile() function and the file will be moved to the trash.

Here's an snapshot of a my Google Drive folder before calling this program:

Now, after calling this program, all the files (but not the "samples" folder) will be moved to trash:

So as you can see, using the functions available in the Google Drive Addon for G4G, there are many things you can do to upload, download and keep your Google Drive folders organized right from your IBM i using simple commands and RPG, or any ILE language!

 


Last edited 02/03/2018 at 08:55:17



Latest Posts:

Update for Google WorkSpace Accounts (2024): Google Dropping Support for Update for Google WorkSpace Accounts (2024): Google Dropping Support for "Less Secure Apps" May 30th, 2022. What Does This Mean for Your IBM i Email?
Posted by January 19, 2024
BVSTools >> BVSTools Software Discussion >> Email Tools (MAILTOOL) Specific Discussion
Sales By State Report in QuickBooks Online Sales By State Report in QuickBooks Online
Posted by January 13, 2024
QuickBooks >> QuickBooks Online
How to Whitelist GreenTools for G Suite (G4G) For Your Organization How to Whitelist GreenTools for G Suite (G4G) For Your Organization
Posted by November 5, 2023
BVSTools >> BVSTools Software Discussion >> GreenTools for G Suite (Google Apps) (G4G) Specific Discussion
QuickBooks Online Releases QuickBooks Online Releases "New Invoices!"... and It's Terrible!
Posted by October 8, 2023
QuickBooks >> QuickBooks Online
Admin/4i - What is it? Admin/4i - What is it?
Posted by September 30, 2023
Vendor Corner >> MSD Information Technology
BVSTools Releases Send Job Log to BVSTools (SNDLOG2BVS) Command BVSTools Releases Send Job Log to BVSTools (SNDLOG2BVS) Command
Posted by August 28, 2023
BVSTools >> BVSTools Announcements
MAILTOOL Now Allows Email Redirection for Development and Testing MAILTOOL Now Allows Email Redirection for Development and Testing
Posted by May 27, 2023
BVSTools >> BVSTools Announcements >> eMail Tool (MAILTOOL) Specific Announcements
GreenTools for Microsoft Apps (G4MS) Now Supports Footers When Sending Email GreenTools for Microsoft Apps (G4MS) Now Supports Footers When Sending Email
Posted by March 29, 2023
BVSTools >> BVSTools Announcements >> GreenTools for Microsoft Apps (G4MS) Specific Announcements
QuickBooks Online - Subtotals and Discounts Frustration QuickBooks Online - Subtotals and Discounts Frustration
Posted by March 16, 2023
QuickBooks >> QuickBooks Online
Making the Switch From QuickBooks Desktop to QuickBooks Online - No Picnic Making the Switch From QuickBooks Desktop to QuickBooks Online - No Picnic
Posted by March 16, 2023
QuickBooks >> QuickBooks Online
BVSTools Software Verified on V7R5 and Power10 BVSTools Software Verified on V7R5 and Power10
Posted by December 9, 2022
BVSTools >> BVSTools Announcements
Microsoft Office 365 Servers and Random Errors Issue Microsoft Office 365 Servers and Random Errors Issue
Posted by November 14, 2022
BVSTools >> BVSTools Software Discussion >> Email Tools (MAILTOOL) Specific Discussion
Sending/Resending Emails Using a MIME File with MAILTOOL Sending/Resending Emails Using a MIME File with MAILTOOL
Posted by November 8, 2022
BVSTools >> BVSTools Software Discussion >> Email Tools (MAILTOOL) Specific Discussion
Sending an HTML Email on Your IBM i Using MAILTOOL Sending an HTML Email on Your IBM i Using MAILTOOL
Posted by November 1, 2022
BVSTools >> BVSTools Software Discussion >> Email Tools (MAILTOOL) Specific Discussion
Transferring License Keys from One System to Another Transferring License Keys from One System to Another
Posted by October 31, 2022
BVSTools >> BVSTools Software Discussion

Reply




© Copyright 1983-2020 BVSTools
GreenBoard(v3) Powered by the eRPG SDK, MAILTOOL Plus!, GreenTools for Google Apps, jQuery, jQuery UI, BlockUI, CKEditor and running on the IBM i (AKA AS/400, iSeries, System i).