{{ transformations:GoogleDriveCommandAction.png}}
====== GOOGLE DRIVE COMMAND ======
Category: Workflow / App/Cloud\\
\\
=====Description=====
This action performs file and folder operations with Google Drive. A configured [[connectors:googledrive|Google Drive connector]] is required.
\\
=====Action settings=====
^ Setting ^ Description ^
|Connector*|Select the preconfigured Google Drive connector, or, build one by selecting //Add connector//.\\ See [[connectors:googledrive|Google Drive connector]] for details.|
|Command|Select the file operation this action will perform. Options: //List files//, //Download file//, //Download list of files//, //Download folder//, //Upload file//, //Upload list of files//, //Delete file//, or //Delete list of files//. See below for details of each command type.|
* Setting can be specified using a [[:parameters|parameter]].
\\
====List files settings====
**Description:** Produce a list of files, with selected file properties, in a specified folder on Google Drive.
^ Setting ^ Description ^
|Folder*|Select a subfolder (under the "My Drive" folder) to access. By default, this action will access the "My Drive" root folder (no value appears in the Folder field).|
|Columns|Select the details of the found files to be included in the dataset. Each detail produces a column. Options: //File name with full path//, //File name only//, //File extension//, //Size//, //Date created//, //Date modified//, and //MIME type//.|
* Setting can be specified using a [[:parameters|parameter]].
\\
====Download file settings====
**Description:** Downloads the specified file from Google Drive to the local location defined.
^ Setting ^ Description ^
|File path*|Enter or browse to the file in Google Drive to be downloaded.|
|Local folder*|Enter or browse to the local folder to download the file to.|
|If a file with such name already exists|Select how EasyMorph will handle saving the file if a file with the same name exists in the destination folder. Options: //Overwrite//, //Do nothing//, or //Halt project execution//. See the "File already exists" table below.|
* Setting can be specified using a [[:parameters|parameter]].
\\
====Download list of files settings====
**Description:** Downloads multiple files specified in a column in the action's input dataset.
^ Setting ^ Description ^
|File list|Select the table column containing the list of fully qualified file names to be downloaded.|
|Local folder*|Enter or browse to the local folder to download the files to. This action will //overwrite// files with the same names\\ that already exist in the destination folder.|
* Setting can be specified using a [[:parameters|parameter]].
\\
====Download folder settings====
**Description:** Downloads the contents (all files and subfolders, recursively) of the specified folder from Google Drive to the defined local folder.
^ Setting ^ Description ^
|Folder path*|Select a subfolder (under the "My Drive" folder) to download the contents of. By default, this action will access the "My Drive" root folder (if no value appears in the Folder field).|
|Local folder*|Select the local folder to download the contents into.|
|If the folder already exists|Select how EasyMorph will handle downloading the folder if a local folder with the same name exists in the selected\\ destination folder. Options: //Fail// (the workflow stops with a warning), //Overwrite// (replace existing files and folders\\ in the local directory with the latest versions from the Google Drive folder, and download any new files or folders that\\ don't already exist locally), or //Copy missing files// (only download files and folders from the Google Drive folder that are not present in the local directory).|
* Setting can be specified using a [[:parameters|parameter]].
\\
====Upload file settings====
**Description:** Uploads the specified local file to the defined Google Drive folder.
^ Setting ^ Description ^
|File path*|Enter or browse to the local file to upload.|
|Target folder*|Enter or browse to a Google Drive folder to upload the file to.|
|If a file with such name already exists|Select how EasyMorph will handle saving the file if a file with the same name exists in the destination folder. Options: //Overwrite//, //Do nothing//, or //Halt project execution//. See the "File already exists" table below.|
* Setting can be specified using a [[:parameters|parameter]].
\\
====Upload list of files settings====
**Description:** Uploads multiple files specified in a column in the action's input dataset.
^ Setting ^ Description ^
|File list|Select the table column containing the list of fully qualified local file names to be uploaded.|
|Target folder*|Enter or browse to a Google Drive folder to upload the files to. This action will //overwrite// files with the same names\\ that already exist in the destination folder.|
* Setting can be specified using a [[:parameters|parameter]].
\\
====Upload folder settings====
**Description:** Uploads the contents (all files and subfolders, recursively) of a chosen local folder to a Google Drive folder.
^ Setting ^ Description ^
|Local folder*|Select the local folder to upload the contents of.|
|Target folder*|Select a subfolder (under the "My Drive" folder) to upload the contents to. By default, this action will access the "My Drive" root folder (if no value appears in the Folder field).|
|If the folder already exists|Select how EasyMorph will handle downloading the folder if a local folder with the same name exists in the selected\\ destination folder. Options: //Fail// (the workflow stops with a warning), //Overwrite// (replace existing files and folders in the\\ Google Drive folder with the latest versions from the local folder, and upload any new files or folders that don't already\\ exist in the Google Drive folder), or //Copy missing files// (only upload files and folders from the local folder that are not present in the Google Drive folder).|
* Setting can be specified using a [[:parameters|parameter]].
\\
====Delete file settings====
**Description:** Deletes the specified file stored on Google Drive.
^ Setting ^ Description ^
|File path*|Enter or browse to the remote file to delete.|
|If the file doesn't exist|Select how EasyMorph handles situations when the specified file does not exist. Options: //Do nothing// (nothing happens, the workflow continues, no error is displayed), or //Halt project execution// (workflow stops, an error is displayed).|
* Setting can be specified using a [[:parameters|parameter]].
\\
====Delete list of files settings====
**Description:** Deletes multiple files specified in a column in the action's input dataset.
^ Setting ^ Description ^
|File list|Select the table column containing the list of fully qualified Google Drive file names to be deleted.|
|If a file from the list doesn't exist|Select how EasyMorph handles situations when a file in the list does not exist. Options: //Ignore// (nothing happens, the workflow continues, no error is displayed), or //Halt project execution// (workflow stops, an error is displayed).|
* Setting can be specified using a [[:parameters|parameter]].
\\
====List folders settings====
**Description:** Produce a list of subfolders under the selected folder.
^ Setting ^ Description ^
|Folder*|Select a folder on the remote resource to retrieve a list of subfolders from.|
|Columns|Select the details of the found subfolders to be included in the dataset. Each detail produces a column.\\ Options: //Folder name with full path// and //Folder name only//.|
* Setting can be specified using a [[:parameters|parameter]].\\
\\
====Create folder settings====
**Description:** Create a new Google Drive folder under the selected parent folder.
^ Setting ^ Description ^
|Parent folder*|Select a folder on Google Drive to create the new folder under.|
|Folder name*|Enter the name of the new folder.|
|If a folder with such name already exists|Choose how EasyMorph behaves if a folder with the //Folder name// already exists. Options: //Fail// (the workflow stops with a warning) or //Do nothing// (the workflow continues without creating the new folder).|
* Setting can be specified using a [[:parameters|parameter]].\\
\\
====Rename folder settings====
**Description:** Rename the selected Google Drive folder.
^ Setting ^ Description ^
|Folder*|Select the folder on Google Drive to rename.|
|New name*|Enter the new name for the selected folder.|
* Setting can be specified using a [[:parameters|parameter]].\\
\\
====Delete folder settings====
**Description:** Delete the selected Google Drive folder.
^ Setting ^ Description ^
|Folder path*|Select the folder on Google Drive to delete.|
|If the folder doesn't exist|Choose how EasyMorph behaves if the selected folder does not exist. Options: //Do nothing// (the workflow continues without creating the new folder) or //Fail// (the workflow stops with a warning).|
* Setting can be specified using a [[:parameters|parameter]].\\
\\
=====Remarks=====
The easiest way to build a list of remote files on a Google Drive to be downloaded or deleted is to use this action in its //File list// configuration, including the "File name with full path" option. This list can then be modified to generate the final list of files to be downloaded or deleted.
If building the list manually, the root folder is the "My Drive" folder with subfolders falling underneath. To reference a file in the root My Drive folder, just list the filename. e.g., "MyFile". When defining subfolders, list the subfolder name followed by a forward-slash ("/") and the filename, or subsequent subfolders. e.g., "MySubFolder / MyFile" or "SubFolder1 / Subfolder2 / MyFile" (extra spaces added for clarity).
\\
=====See also=====
* [[transformations:filecommand|File command]]
* [[transformations:filelist|List of files]]
* [[transformations:importgooglesheets|Import Google Sheets]]
* [[transformations:exportgooglesheets|Export Google Sheets]]
* [[transformations:amazoncommand|Amazon S3 command]]
* [[transformations:azureblobstoragecommand|Azure Blob Storage command]]
* [[transformations:dropboxcommand|Dropbox command]]
* [[transformations:onedrivecommand|OneDrive command]]
* [[transformations:sharepointcommand|SharePoint command]]