RPA.Cloud.Google

Keyword for sharing drive file or folder.

Arguments

ArgumentTypeDefault valueDescription
file_idstr, NoneNonedrive file id
file_dictdict, NoneNonefile dictionary returned by Search Drive Files
querystr, NoneNonedrive query string to find target file, needs to match 1 file
sourcestr, NoneNonename of the folder to search files in, is by default drive's root folder
emailstr, NoneNoneuser or group email address if share type is DriveType.USER or DriveType.GROUP
domainstr, NoneNonedomain name if share type is DriveType.DOMAIN
roleDriveRoleREADERsee DriveRole enum for possible values, defaults to DriveRole.READER
share_typeDriveTypeUSERsee DriveType enum for possible values, defaults to DriveType.USER
notificationboolFalsewhether to send notificatin email, defaults to False
notification_messagestr, NoneNoneoptional message to include with the notification

Parameters file_id, file_dict, query and source can be used to select files to which sharing is added to.

If share is added to a folder, all files within that folder get same sharing permissions.

param file_id:drive file id
param file_dict:
 file dictionary returned by Search Drive Files
param query:drive query string to find target file, needs to match 1 file
param source:name of the folder to search files in, is by default drive's root folder
param email:user or group email address if share type is DriveType.USER or DriveType.GROUP
param domain:domain name if share type is DriveType.DOMAIN
param role:see DriveRole enum for possible values, defaults to DriveRole.READER
param share_type:
 see DriveType enum for possible values, defaults to DriveType.USER
param notification:
 whether to send notificatin email, defaults to False
param notification_message:
 optional message to include with the notification
return:share response dictionary containing 'file_id' and 'permission_id'

Examples

# Add file share for a email address with email notification Add Drive Share ... query=name = 'okta.png' ... email=robocorp.tester@gmail.com ... notification=True ... notification_message=Hello. I have shared 'okta.png' with you for review. # Add file share for a domain Add Drive Share ... query=name = 'okta.png' ... domain=robocorp.com # Add folder share for a email address ${folder}= Create Drive Directory attachments-for-the-task ${share}= Add Drive Share ... file_id=${folder}[id] ... email=robocorp.tester@gmail.com ... role=writer Log To Console Share details: ${share}[file_id], ${share}[permission_id]

Analyze sentiment in a text file

Arguments

ArgumentTypeDefault valueDescription
textstr, NoneNonesource text
text_filestr, NoneNonesource text file
file_typeTextTypeTEXTtype of text, PLAIN_TEXT (default) or HTML
json_filestr, NoneNonejson target to save result, defaults to None
langstr, NoneNonelanguage code of the source, defaults to None
param text:source text
param text_file:
 source text file
param file_type:
 type of text, PLAIN_TEXT (default) or HTML
param json_file:
 json target to save result, defaults to None
param lang:language code of the source, defaults to None
return:analysis response

# For list of supported languages:

Examples

Robot Framework

${result}= Analyze Sentiment ${text} ${result}= Analyze Sentiment text_file=${CURDIR}${/}test.txt

Annotate image

Arguments

ArgumentTypeDefault valueDescription
image_filestrnullsource image file path
image_uristrnullGoogle Cloud Storage URI
json_filestr, NoneNonejson target to save result
param image_file:
 source image file path
param image_uri:
 Google Cloud Storage URI
param json_file:
 json target to save result
return:detection response

Examples

Robot Framework

${result}= Annotate Image image_file=${CURDIR}${/}test.png ... json_file=${CURDIR}${/}result.json

Annotate video

Arguments

ArgumentTypeDefault valueDescription
video_filestr, NoneNonelocal file path to input video
video_uristr, NoneNoneGoogle Cloud Storage URI to input video
featuresstr, NoneNonelist of annotation features to detect, defaults to LABEL_DETECTION,SHOT_CHANGE_DETECTION
output_uristr, NoneNoneGoogle Cloud Storage URI to store response json
json_filestr, NoneNonejson target to save result
timeoutint300timeout for operation in seconds

Possible values for features:

  • FEATURE_UNSPECIFIED, Unspecified.
  • LABEL_DETECTION, Label detection. Detect objects, such as dog or flower.
  • SHOT_CHANGE_DETECTION, Shot change detection.
  • EXPLICIT_CONTENT_DETECTION, Explicit content detection.
  • SPEECH_TRANSCRIPTION, Speech transcription.
  • TEXT_DETECTION, OCR text detection and tracking.
  • OBJECT_TRACKING, Object detection and tracking.
  • LOGO_RECOGNITION, Logo detection, tracking, and recognition.

If video_uri is given then that is used even if video_file is given.

param video_file:
 local file path to input video
param video_uri:
 Google Cloud Storage URI to input video
param features:list of annotation features to detect, defaults to LABEL_DETECTION,SHOT_CHANGE_DETECTION
param output_uri:
 Google Cloud Storage URI to store response json
param json_file:
 json target to save result
param timeout:timeout for operation in seconds
return:annotate result

Examples

Robot Framework

${result}= Annotate Video video_uri=gs://videointelligence/movie.mp4 ... features=TEXT_DETECTION,LABEL_DETECTION ... output_uri=gs://videointelligence/movie_annotations.json ... json_file=${CURDIR}${/}videoannotations.json

Classify text

Arguments

ArgumentTypeDefault valueDescription
textstr, NoneNonesource text
text_filestr, NoneNonesource text file
file_typeTextTypeTEXTtype of text, PLAIN_TEXT (default) or HTML
json_filestr, NoneNonejson target to save result, defaults to None
langstr, NoneNonelanguage code of the source, defaults to None
param text:source text
param text_file:
 source text file
param file_type:
 type of text, PLAIN_TEXT (default) or HTML
param json_file:
 json target to save result, defaults to None
param lang:language code of the source, defaults to None
return:classify response

# For list of supported languages:

Examples

Robot Framework

${result}= Classify Text ${text} ${result}= Classify Text text_file=${CURDIR}${/}test.txt

Clear cell values for range of cells within a spreadsheet

Arguments

ArgumentTypeDefault valueDescription
spreadsheet_idstrnulltarget spreadsheet
sheet_rangestrnulltarget sheet range
param spreadsheet_id:
 target spreadsheet
param sheet_range:
 target sheet range
return:operation result

Examples

Python

result = GOOGLE.clear_sheet_values(spreadsheet_id, "A1:C1")

Robot Framework

${result}= Clear Sheet Values ${SPREADSHEET_ID} A1:C1

Copy sheet into the spreadsheet as new sheet

Arguments

ArgumentTypeDefault valueDescription
spreadsheet_idstrnullid of the spreadsheet
source_sheet_namestrnullname of the source sheet
new_sheet_namestrnullname for the new sheet
insertSheetIndexint, NoneNonezero based index where the new sheet should be inserted, defaults to None
param spreadsheet_id:
 id of the spreadsheet
param source_sheet_name:
 name of the source sheet
param new_sheet_name:
 name for the new sheet
param insertSheetIndex:
 zero based index where the new sheet should be inserted, defaults to None
return:operation result as an dictionary

Examples

Python

result = GOOGLE.copy_sheet( spreadsheet_id, "Existing sheet", "Copy of existing sheet" )

Robot Framework

${result}= Copy Sheet ... ${SPREADSHEET_ID} ... Existing sheet ... Copy of existing sheet

Copy spreadsheet to target spreadsheet

Arguments

ArgumentTypeDefault valueDescription
spreadsheet_idstrnullID of the spreadsheet to copy
target_spreadsheet_idstrnullID of the target spreadsheet

NOTE: service account user must have access also to target spreadsheet

param spreadsheet_id:
 ID of the spreadsheet to copy
param target_spreadsheet_id:
 ID of the target spreadsheet
return:operation result

Examples

Python

result = GOOGLE.copy_spreadsheet( spreadsheet_id, source_spreadsheet_id, target_spreadsheet_id)

Robot Framework

${result}= Copy Spreadsheet ${SPREADSHEET_ID} ${ANOTHER_SPREADSHEET_ID}

Create new directory to Google Drive

Arguments

ArgumentTypeDefault valueDescription
folderstr, NoneNonename for the new directory
parent_folderstr, NoneNonetop level directory for new directory
param folder:name for the new directory
param parent_folder:
 top level directory for new directory
return:dictionary containing folder ID and folder URL

Examples

${folder}= Create Drive Directory example-folder Log To Console Google Drive folder ID: ${folder}[id] Log To Console Google Drive folder URL: ${folder}[url]

Create sheet into the spreadsheet

Arguments

ArgumentTypeDefault valueDescription
spreadsheet_idstrnullid of the spreadsheet
sheet_namestrnullname for the new sheet
param spreadsheet_id:
 id of the spreadsheet
param sheet_name:
 name for the new sheet
return:operation result as an dictionary

Examples

Python

result = GOOGLE.create_sheet(spreadsheet_id, "New sheet")

Robot Framework

${result}= Create Sheet ${SPREADSHEET_ID} New sheet

Create empty sheet with a title

Arguments

ArgumentTypeDefault valueDescription
titlestrnullname as string
param title:name as string
return:created spreadsheet_id

Examples

Python

result = GOOGLE.create_spreadsheet("name of the spreadsheet")

Robot Framework

${result}= Create Sheet Example Sheet

Create Google Cloud Storage bucket

Arguments

ArgumentTypeDefault valueDescription
bucket_namestrnullname as string
param bucket_name:
 name as string
return:bucket

Examples

Robot Framework

${result}= Create Storage Bucket visionfolder

Delete file specified by id, file dictionary or query string

Arguments

ArgumentTypeDefault valueDescription
file_idstr, NoneNonedrive file id
file_dictdict, NoneNonefile dictionary returned by Search Drive Files
querystr, NoneNonedrive query string to find target file, needs to match 1 file unless parameter multiple_ok is set to True
multiple_okboolFalseset to True if it is ok to perform delete on more than 1 file
suppress_errorsboolFalseon True will log warning message instead of raising an exception, defaults to False

Note. Be extra careful when calling this keyword!

param file_id:drive file id
param file_dict:
 file dictionary returned by Search Drive Files
param query:drive query string to find target file, needs to match 1 file unless parameter multiple_ok is set to True
param multiple_ok:
 set to True if it is ok to perform delete on more than 1 file
param suppress_errors:
 on True will log warning message instead of raising an exception, defaults to False
return:how many files where deleted

Examples

${folder_id}= Get Drive Folder Id datafolder ${deleted}= Delete Drive File query=name contains '.json' and '${folder_id}' in parents ... multiple_ok=True

Delete a sheet from the spreadsheet.

Arguments

ArgumentTypeDefault valueDescription
spreadsheet_idstrnullid of the spreadsheet
sheet_namestrnullname of the sheet to delete
param spreadsheet_id:
 id of the spreadsheet
param sheet_name:
 name of the sheet to delete
return:operation result as an dictionary

Examples

Python

result = GOOGLE.delete_sheet(spreadsheet_id, "Sheet1")

Robot Framework

${result}= Delete Sheet ${SPREADSHEET_ID} Sheet1

Delete Google Cloud Storage bucket

Arguments

ArgumentTypeDefault valueDescription
bucket_namestrnullname as string

Bucket needs to be empty before it can be deleted.

param bucket_name:
 name as string

Examples

Robot Framework

${result}= Delete Storage Bucket visionfolder

Delete files in the bucket

Arguments

ArgumentTypeDefault valueDescription
bucket_namestrnullname as string
filesAnynullsingle file, list of files or comma separated list of files

Files need to be object name in the bucket.

param bucket_name:
 

name as string

param files:

single file, list of files or comma separated list of files

return:

list of files which could not be deleted

Examples

Robot Framework

${result}= Delete Storage Files ${BUCKET_NAME} file1,file2

Detect document

Arguments

ArgumentTypeDefault valueDescription
image_filestr, NoneNonesource image file path
image_uristr, NoneNoneGoogle Cloud Storage URI
json_filestr, NoneNonejson target to save result
param image_file:
 source image file path
param image_uri:
 Google Cloud Storage URI
param json_file:
 json target to save result
return:detection response

Examples

Robot Framework

${result}= Detect Document image_file=${CURDIR}${/}test.png ... json_file=${CURDIR}${/}result.json

Detect labels in the image

Arguments

ArgumentTypeDefault valueDescription
image_filestr, NoneNonesource image file path
image_uristr, NoneNonesource image uri
json_filestr, NoneNonejson target to save result
param image_file:
 source image file path
param image_uri:
 source image uri
param json_file:
 json target to save result
return:detection response

Examples

Robot Framework

${result}= Detect Labels image_file=${CURDIR}${/}test.png ... json_file=${CURDIR}${/}result.json

Detect text in the image

Arguments

ArgumentTypeDefault valueDescription
image_filestr, NoneNonesource image file path
image_uristr, NoneNoneGoogle Cloud Storage URI
json_filestr, NoneNonejson target to save result
param image_file:
 source image file path
param image_uri:
 Google Cloud Storage URI
param json_file:
 json target to save result
return:detection response

Examples

Robot Framework

${result}= Detect Text image_file=${CURDIR}${/}test.png ... json_file=${CURDIR}${/}result.json

Download files specified by file dictionary or query string

Arguments

ArgumentTypeDefault valueDescription
file_dictdict, NoneNonefile dictionary returned by Search Drive Files
querystr, NoneNonedrive query string to find target files, defaults to None
sourcestr, NoneNonesource directory where query is executed
limitint, NoneNonemaximum amount of files that are downloaded, defaults to None
timeoutfloat, NoneNonemaximum allowed time in seconds for download process

Parameters start, limit and timeout are used only when downloading files defined by query parameter.

param file_dict:
 file dictionary returned by Search Drive Files
param query:drive query string to find target files, defaults to None
param source:source directory where query is executed
param limit:maximum amount of files that are downloaded, defaults to None
param timeout:maximum allowed time in seconds for download process
return:list of downloaded files

Examples

${files}= Search Drive Files query=name contains '.json' FOR ${f} IN @{files} IF ${f}[size] < 2000 Download Drive Files file_dict=${f} END END ${folder_id}= Get Drive Folder Id datafolder Download Drive Files query=name contains '.json' and '${folder_id}' in parents

Download files from a bucket

Arguments

ArgumentTypeDefault valueDescription
bucket_namestrnullname as string
filesAnynulllist of object names or dictionary of object names and target files

Example files: files = {"mytestimg": "image1.png", "mydoc": "google.pdf"}

param bucket_name:
 name as string
param files:list of object names or dictionary of object names and target files
return:list of files which could not be downloaded

Examples

Robot Framework

${result}= Download Storage Files ${BUCKET_NAME} test1.txt,test2.txt

Export Google Drive file using Drive export links

Arguments

ArgumentTypeDefault valueDescription
file_idstr, NoneNonedrive file id
file_dictdict, NoneNonefile dictionary returned by Search Drive Files
target_filestr, NoneNonename for the exported file
mimetypestrapplication/pdfexport mimetype, defaults to "application/pdf"
param file_id:drive file id
param file_dict:
 file dictionary returned by Search Drive Files
param target_file:
 name for the exported file
param mimetype:export mimetype, defaults to "application/pdf"
return:file path to the exported file

Examples

${files}= Drive Search Files query=name contains 'my example worksheet' Export Drive File file_dict=${files}[0]

Detect faces

Arguments

ArgumentTypeDefault valueDescription
image_filestr, NoneNonesource image file path
image_uristr, NoneNoneGoogle Cloud Storage URI
json_filestr, NoneNonejson target to save result
param image_file:
 source image file path
param image_uri:
 Google Cloud Storage URI
param json_file:
 json target to save result
return:detection response

Examples

Robot Framework

${result}= Face Detection image_uri=gs://vision/faces.png ... json_file=${CURDIR}${/}result.json

This keyword allows to do generic batch update to the spreadsheet.

Arguments

ArgumentTypeDefault valueDescription
spreadsheet_idstrnullid of the spreadsheet
bodyDictnullbody of the batch update request

For more information on the batch update: https://googleapis.github.io/google-api-python-client/docs/dyn/sheets_v4.spreadsheets.html#create

List of possible requests actions (body can contain multiple at the same time):

  • addBanding
  • addChart
  • addConditionalFormatRule
  • addDataSource
  • addDimensionGroup
  • addFilterView
  • addNamedRange
  • addProtectedRange
  • addSheet (keyword Create sheet)
  • addSlicer
  • appendCells
  • appendDimension
  • autoFill
  • autoResizeDimensions
  • clearBasicFilter
  • copyPaste
  • createDeveloperMetadata
  • cutPaste
  • deleteBanding
  • deleteConditionalFormatRule
  • deleteDataSource
  • deleteDeveloperMetadata
  • deleteDimension
  • deleteDimensionGroup
  • deleteDuplicates
  • deleteEmbeddedObject
  • deleteFilterView
  • deleteNamedRange
  • deleteProtectedRange
  • deleteRange
  • deleteSheet (keyword Delete sheet)
  • duplicateFilterView
  • duplicateSheet (keyword Copy sheet)
  • findReplace
  • insertDimension
  • insertRange
  • mergeCells
  • moveDimension
  • pasteData
  • randomizeRange
  • refreshDataSource
  • repeatCell
  • setBasicFilter
  • setDataValidation
  • sortRange
  • textToColumns
  • trimWhitespace
  • unmergeCells
  • updateBanding
  • updateBorders
  • updateCells
  • updateChartSpec
  • updateConditionalFormatRule
  • updateDataSource
  • updateDeveloperMetadata
  • updateDimensionGroup
  • updateDimensionProperties
  • updateEmbeddedObjectBorder
  • updateEmbeddedObjectPosition
  • updateFilterView
  • updateNamedRange
  • updateProtectedRange
  • updateSheetProperties (keyword Rename sheet)
  • updateSlicerSpec
  • updateSpreadsheetProperties
param spreadsheet_id:
 id of the spreadsheet
param body:body of the batch update request
return:operation result as an dictionary

Examples

Python

body = {"requests": {"deleteSheet": {"sheetId": "333555666"}}} result = GOOGLE.generic_spreadsheet_batch_update(spreadsheet_id, body)

Robot Framework

${body}= Evaluate {"requests": {"deleteSheet": {"sheetId": "333555666"}}} ${result}= Generic Spreadsheet Batch Update ${SPREADSHEET_ID} ${body}

Get values from the range in the spreadsheet

Arguments

ArgumentTypeDefault valueDescription
spreadsheet_idstrnulltarget spreadsheet
sheet_namestr, NoneNonetarget sheet (default first sheet)
value_render_optionstrUNFORMATTED_VALUEhow values should be represented in the output defaults to "UNFORMATTED_VALUE"
datetime_render_optionstrFORMATTED_STRINGhow dates, times, and durations should be represented in the output, defaults to "FORMATTED_STRING"
param spreadsheet_id:
 target spreadsheet
param sheet_name:
 target sheet (default first sheet)
param value_render_option:
 how values should be represented in the output defaults to "UNFORMATTED_VALUE"
param datetime_render_option:
 how dates, times, and durations should be represented in the output, defaults to "FORMATTED_STRING"
return:operation result

Examples

Python

result = GOOGLE.get_all_sheet_values(spreadsheet_id)

Robot Framework

${values}= Get All Sheet Values ${SHEET_ID} sheet1

Helper keyword for getting document entities from a Process Document response object.

Arguments

ArgumentTypeDefault valueDescription
documentDocumentnullthe document response object

For examples. see Process Document keyword

param document:the document response object
return:detected entities in the document response as a list

Helper keyword for getting detected languages from a Process Document response object.

Arguments

ArgumentTypeDefault valueDescription
documentDocumentnullthe document response object

For examples. see Process Document keyword

param document:the document response object
return:detected languages in the document response as a list

Get file dictionary by its file id.

Arguments

ArgumentTypeDefault valueDescription
file_idstrnullid of the file in the Google Drive
suppress_errorsboolFalseon True will log warning message instead of raising an exception, defaults to False (exception is raised)
param file_id:id of the file in the Google Drive
param suppress_errors:
 on True will log warning message instead of raising an exception, defaults to False (exception is raised)
return:dictionary containing file information

Examples

${file_dict}= Get Drive File By ID file_id=${FILE_ID}

Get file id for the folder

Arguments

ArgumentTypeDefault valueDescription
folderstr, NoneNonename of the folder to identify, by default returns drive's root folder id
parent_folderstr, NoneNonecan be used to narrow search by giving parent folder name
detailsboolFalseon True will return folder dictionary, on False (default) folder id is returned
param folder:name of the folder to identify, by default returns drive's root folder id
param parent_folder:
 can be used to narrow search by giving parent folder name
param details:on True will return folder dictionary, on False (default) folder id is returned
return:file id of the folder or file dictionary when details = True

Examples

${root_id}= Get Drive Folder Id # returns Drive root folder id ${folder_id}= Get Drive Folder Id subdir

Get values from the range in the spreadhsheet

Arguments

ArgumentTypeDefault valueDescription
spreadsheet_idstrnulltarget spreadsheet
sheet_rangestr, NoneNonetarget sheet range
value_render_optionstrUNFORMATTED_VALUEhow values should be represented in the output defaults to "UNFORMATTED_VALUE"
datetime_render_optionstrFORMATTED_STRINGhow dates, times, and durations should be represented in the output, defaults to "FORMATTED_STRING"
param spreadsheet_id:
 target spreadsheet
param sheet_range:
 target sheet range
param value_render_option:
 how values should be represented in the output defaults to "UNFORMATTED_VALUE"
param datetime_render_option:
 how dates, times, and durations should be represented in the output, defaults to "FORMATTED_STRING"
return:operation result

Examples

Python

result = GOOGLE.get_sheet_values(spreadsheet_id, "A1:C1")

Robot Framework

${values}= Get Sheet Values ${SPREADSHEET_ID} A1:C1

Get title, id, url and sheets information from the spreadsheet.

Arguments

ArgumentTypeDefault valueDescription
spreadsheet_idstrnullID of the spreadsheet
param spreadsheet_id:
 ID of the spreadsheet
return:operation result as an dictionary

Returns spreadsheet information as a dictionary.

Arguments

ArgumentTypeDefault valueDescription
spreadsheet_idstrnullID of the spreadsheet
param spreadsheet_id:
 ID of the spreadsheet
return:operation result as an dictionary

Get Google Cloud Storage bucket

Arguments

ArgumentTypeDefault valueDescription
bucket_namestrnullname as string
param bucket_name:
 name as string
return:bucket

Examples

Robot Framework

${result}= Get Bucket visionfolder

Initialize Google Apps Script client

Arguments

ArgumentTypeDefault valueDescription
service_accountstr, NoneNonefile path to service account file
credentialsstr, NoneNonefile path to credentials file
use_robocorp_vaultbool, NoneNoneuse credentials in Robocorp Vault
scopeslist, NoneNonelist of extra authentication scopes
token_filestr, NoneNonefile path to token file
param service_account:
 file path to service account file
param credentials:
 file path to credentials file
param use_robocorp_vault:
 use credentials in Robocorp Vault
param scopes:list of extra authentication scopes
param token_file:
 file path to token file

Initialize Google Cloud Document AI client

Arguments

ArgumentTypeDefault valueDescription
service_accountstr, NoneNonefile path to service account file
regionstr, Noneusregion of the service
use_robocorp_vaultbool, NoneNoneuse credentials in Robocorp Vault
token_filestr, NoneNonefile path to token file
param service_account:
 file path to service account file
param region:region of the service
param use_robocorp_vault:
 use credentials in Robocorp Vault
param token_file:
 file path to token file

Robot Framework example:

# Init using Service Account from a file Init Document AI ${CURDIR}${/}service_account.json region=eu # Init using OAuth token from a file and default "us" region Init Document AI ${CURDIR}${/}token.json # Init using service account file from the Robocorp Vault Set Robocorp Vault ... vault_name=DocumentAI ... vault_secret_key=google-sa Init Document AI region=eu use_robocorp_vault=True

Python example:

GOOGLE = Google() GOOGLE.set_robocorp_vault("DocumentAI", "google-sa") GOOGLE.init_document_ai(region="eu", use_robocorp_vault=True)

Initialize Google Drive client

Arguments

ArgumentTypeDefault valueDescription
service_accountstr, NoneNonefile path to service account file
credentialsstr, NoneNonefile path to credentials file
use_robocorp_vaultbool, NoneNoneuse credentials in Robocorp Vault
scopeslist, NoneNonelist of extra authentication scopes
token_filestr, NoneNonefile path to token file
param service_account:
 file path to service account file
param credentials:
 file path to credentials file
param use_robocorp_vault:
 use credentials in Robocorp Vault
param scopes:list of extra authentication scopes
param token_file:
 file path to token file

Initialize Google Gmail client

Arguments

ArgumentTypeDefault valueDescription
service_accountstr, NoneNonefile path to service account file
credentialsstr, NoneNonefile path to credentials file
use_robocorp_vaultbool, NoneNoneuse credentials in Robocorp Vault
scopeslist, NoneNonelist of extra authentication scopes
token_filestr, NoneNonefile path to token file
param service_account:
 file path to service account file
param credentials:
 file path to credentials file
param use_robocorp_vault:
 use credentials in Robocorp Vault
param scopes:list of extra authentication scopes
param token_file:
 file path to token file

Initialize Google Cloud Natural Language client

Arguments

ArgumentTypeDefault valueDescription
service_accountstr, NoneNonefile path to service account file
use_robocorp_vaultbool, NoneNoneuse credentials in Robocorp Vault
token_filestr, NoneNonefile path to token file
param service_account:
 file path to service account file
param use_robocorp_vault:
 use credentials in Robocorp Vault
param token_file:
 file path to token file

Initialize Google Sheets client

Arguments

ArgumentTypeDefault valueDescription
service_accountstr, NoneNonefile path to service account file
credentialsstr, NoneNonefile path to credentials file
use_robocorp_vaultbool, NoneNoneuse credentials in Robocorp Vault
scopeslist, NoneNonelist of extra authentication scopes
token_filestr, NoneNonefile path to token file
param service_account:
 file path to service account file
param credentials:
 file path to credentials file
param use_robocorp_vault:
 use credentials in Robocorp Vault
param scopes:list of extra authentication scopes
param token_file:
 file path to token file

Initialize Google Cloud Speech to Text client

Arguments

ArgumentTypeDefault valueDescription
service_accountstr, NoneNonefile path to service account file
use_robocorp_vaultbool, NoneNoneuse credentials in Robocorp Vault
token_filestr, NoneNonefile path to token file
param service_account:
 file path to service account file
param use_robocorp_vault:
 use credentials in Robocorp Vault
param token_file:
 file path to token file

Initialize Google Cloud Storage client

Arguments

ArgumentTypeDefault valueDescription
service_accountstr, NoneNonefile path to service account file
use_robocorp_vaultbool, NoneNoneuse credentials in Robocorp Vault
token_filestr, NoneNonefile path to token file
param service_account:
 file path to service account file
param use_robocorp_vault:
 use credentials in Robocorp Vault
param token_file:
 file path to token file

Initialize Google Cloud Text to Speech client

Arguments

ArgumentTypeDefault valueDescription
service_accountstr, NoneNonefile path to service account file
use_robocorp_vaultbool, NoneNoneuse credentials in Robocorp Vault
token_filestr, NoneNonefile path to token file
param service_account:
 file path to service account file
param use_robocorp_vault:
 use credentials in Robocorp Vault
param token_file:
 file path to token file

Initialize Google Cloud Translation client

Arguments

ArgumentTypeDefault valueDescription
project_identifierstrnullidentifier for Translation project
service_accountstr, NoneNonefile path to service account file
use_robocorp_vaultbool, NoneNoneuse credentials in Robocorp Vault
token_filestr, NoneNonefile path to token file
param project_identifier:
 identifier for Translation project
param service_account:
 file path to service account file
param use_robocorp_vault:
 use credentials in Robocorp Vault
param token_file:
 file path to token file

Initialize Google Cloud Video Intelligence client

Arguments

ArgumentTypeDefault valueDescription
service_accountstr, NoneNonefile path to service account file
use_robocorp_vaultbool, NoneNoneuse credentials in Robocorp Vault
token_filestr, NoneNonefile path to token file
param service_account:
 file path to service account file
param use_robocorp_vault:
 use credentials in Robocorp Vault
param token_file:
 file path to token file

Initialize Google Cloud Vision client

Arguments

ArgumentTypeDefault valueDescription
service_accountstr, NoneNonefile path to service account file
use_robocorp_vaultbool, NoneNoneuse credentials in Robocorp Vault
token_filestr, NoneNonefile path to token file
param service_account:
 file path to service account file
param use_robocorp_vault:
 use credentials in Robocorp Vault
param token_file:
 file path to token file

Insert values into sheet cells

Arguments

ArgumentTypeDefault valueDescription
spreadsheet_idstrnulltarget spreadsheet
sheet_rangestrnulltarget sheet range
valueslistnulllist of values to insert into sheet
major_dimensionstrCOLUMNSmajor dimension of the values, default COLUMNS
value_input_optionstrUSER_ENTEREDcontrols whether input strings are parsed or not, default USER_ENTERED
param spreadsheet_id:
 target spreadsheet
param sheet_range:
 target sheet range
param values:list of values to insert into sheet
param major_dimension:
 major dimension of the values, default COLUMNS
param value_input_option:
 controls whether input strings are parsed or not, default USER_ENTERED
return:operation result

Examples

Python

values = [[11, 12, 13], ['aa', 'bb', 'cc']] result = GOOGLE.insert_sheet_values(spreadsheet_id, "A:C", values)

Robot Framework

${values} Evaluate [[11, 12, 13], ['aa', 'bb', 'cc']] ${result}= Insert Sheet Values ${SPREADSHEET_ID} A:B ${values} ${result}= Insert Sheet Values ${SPREADSHEET_ID} A:B ${values} ROWS

List messages

Arguments

ArgumentTypeDefault valueDescription
user_idstrnulluser's email address. The special value me can be used to indicate the authenticated user.
querystrnullmessage query
folder_namestr, NoneNonepath where attachments are saved, default current directory
label_idslist, NoneNonemessage label ids
max_resultsint, NoneNonemaximum number of message to return
include_jsonboolFalseinclude original response json
include_spamboolFalseinclude messages from SPAM and TRASH
param user_id:user's email address. The special value me can be used to indicate the authenticated user.
param query:message query
param folder_name:
 path where attachments are saved, default current directory
param label_ids:
 message label ids
param max_results:
 maximum number of message to return
param include_json:
 include original response json
param include_spam:
 include messages from SPAM and TRASH
return:messages

Examples

${messages}= List Messages me ... from:mika@robocorp.com ... folder_name=${CURDIR}${/}target ... include_json=True FOR ${msg} IN @{messages} Log Many ${msg} END

List existing document AI processors from given project and region.

Arguments

ArgumentTypeDefault valueDescription
project_idstrnullGoogle Cloud project ID
regionstrnullGoogle Cloud region of the processor

Requires documentai.processors.list permission.

param project_id:
 Google Cloud project ID
param region:Google Cloud region of the processor
return:list of available processors as a list

Robot Framework example:

@{processors}= List Processors ${PROJECT_ID} eu FOR ${p} IN @{processors} # name: projects/PROJECT_ID/locations/REGION/processors/PROCESSOR_ID Log To Console Processor name: ${p.name} Log To Console Processor type: ${p.type_} Log To Console Processor display name: ${p.display_name} END

Python example:

processors = GOOGLE.list_processors(PROJECT_ID, "eu") for p in processors: print(f"Processor name: {p.name}") print(f"Processor type: {p.type_}") print(f"Processor name: {p.display_name}")

Keyword for listing shared files in the source folder.

Arguments

ArgumentTypeDefault valueDescription
querystr, NoneNonedrive query string to find target files
sourcestr, NoneNonesource directory where query is executed

Alias keyword for Search Drive Files which can be used to list only files which have been shared.

param query:drive query string to find target files
param source:source directory where query is executed
return:list of shared files

Examples

${shared}= List Shared Drive Files source=subfolder FOR ${file} IN @{shared} Log To Console ${file} END

List Google Cloud Storage buckets

return:list of buckets

Examples

Robot Framework

${buckets}= List Storage Buckets FOR ${bucket} IN @{buckets} Log ${bucket} END

List files in the bucket

Arguments

ArgumentTypeDefault valueDescription
bucket_namestrnullname as string
param bucket_name:
 name as string
return:list of object names in the bucket

Examples

Robot Framework

${files}= List Storage Files ${BUCKET_NAME} FOR ${bucket} IN @{files} Log ${file} END

List supported voices for the speech

Arguments

ArgumentTypeDefault valueDescription
language_codestr, NoneNonevoice languages to list, defaults to None (all)
param language_code:
 voice languages to list, defaults to None (all)
return:list of supported voices

Examples

Robot Framework

${result}= List Supported Voices en-US

Loads the binary object saved by Save Document Response into documentai.Document format which is accessible by helper keywords.

Arguments

ArgumentTypeDefault valueDescription
filepathstrnullsource file to read binary document object from
param filepath:source file to read binary document object from
return:processed document response object

Robot Framework example:

# load previously saved response ${document}= Load Document Response ${CURDIR}${/}google_processed.response ${entities}= Get Document Entities ${document}

Python example:

document = GOOGLE.load_document_response("google_doc.response") entities = GOOGLE.get_document_entities(document) for ent in entities: print(ent)

Move file specified by id, file dictionary or query string into target folder

Arguments

ArgumentTypeDefault valueDescription
file_idstr, NoneNonedrive file id
file_dictdict, NoneNonefile dictionary returned by Search Drive Files
querystr, NoneNonedrive query string to find target file, needs to match 1 file
sourcestr, NoneNonename of the folder to move file from, is by default drive's root folder id
targetstr, NoneNonename of the folder to move file into, is by default drive's root folder id
multiple_okboolFalseif True then moving more than 1 file
param file_id:drive file id
param file_dict:
 file dictionary returned by Search Drive Files
param query:drive query string to find target file, needs to match 1 file
param source:name of the folder to move file from, is by default drive's root folder id
param target:name of the folder to move file into, is by default drive's root folder id
param multiple_ok:
 if True then moving more than 1 file
return:list of file ids

Examples

${source_id}= Get Drive Folder Id sourcefolder ${query}= Set Variable name contains '.json' and '${sourceid}' in parents ${files}= Move Drive File query=${query} folder=target_folder multiple_ok=True

Process document in the Google Cloud platform using given document processor ID within given project and region.

Arguments

ArgumentTypeDefault valueDescription
project_idstrnullGoogle Cloud project ID
regionstrnullGoogle Cloud region of the processor
processor_idstrnullID of the document processor
file_pathstrnullfilepath of the document to process
mime_typestr, NoneNonegiven mime type of document (optional), if not given it is auto detected

For a full list of Document response object attributes, please reference this page.

param project_id:
 Google Cloud project ID
param region:Google Cloud region of the processor
param processor_id:
 ID of the document processor
param file_path:
 filepath of the document to process
param mime_type:
 given mime type of document (optional), if not given it is auto detected
return:processed document response object

Robot Framework example:

${document}= Process Document ... project_id=${GOOGLE_PROJECT_ID} ... region=eu ... processor_id=${RECEIPT_PROCESSOR_ID} ... file_path=${CURDIR}${/}mydocument.pdf ${entities}= Get Document Entities ${document} FOR ${ent} IN @{entities} Log To Console Entity: ${ent} END ${languages}= Get Document Languages ${document} Log To Console Languages: ${languages}

Python example:

document = GOOGLE.process_document( project_id=PROJECT_ID, region="eu", processor_id=PROCESSOR_ID, file_path="./files/mydocument.pdf", ) entities = GOOGLE.get_document_entities(document) for ent in entities: print(ent) languages = GOOGLE.get_document_languages(document) for lang in languages: print(lang)

Recognize text in the audio file

Arguments

ArgumentTypeDefault valueDescription
audio_filestr, NoneNonelocal audio file path
audio_uristr, NoneNoneGoogle Cloud Storage URI
encodingstr, NoneNoneaudio file encoding
language_codestren_USlanguage in the audio
audio_channel_countint2number of audio channel
sample_rateint, NoneNonerate in hertz, for example 16000
param audio_file:
 local audio file path
param audio_uri:
 Google Cloud Storage URI
param encoding:audio file encoding
param language_code:
 language in the audio
param audio_channel_count:
 number of audio channel
param sample_rate:
 rate in hertz, for example 16000
return:recognized texts

Examples

Robot Framework

${result}= Recognize Text From Audio audio_file=${CURDIR}${/}test.mp3

Keyword for removing all shares from selected files (only owner permission is retained).

Arguments

ArgumentTypeDefault valueDescription
file_idstr, NoneNonedrive file id
file_dictdict, NoneNonefile dictionary returned by Search Drive Files
querystr, NoneNonedrive query string to find target files
suppress_errorsboolFalseon True will log warning message instead of raising an exception, defaults to False (exception is raised)
param file_id:drive file id
param file_dict:
 file dictionary returned by Search Drive Files
param query:drive query string to find target files
param suppress_errors:
 on True will log warning message instead of raising an exception, defaults to False (exception is raised)
return:list of dictionaries containing information of file permissions removed

Examples

${removed}= Remove All Drive Shares file_id=${FOLDER_ID}

Keyword for removing share from file or folder based on criteria.

Arguments

ArgumentTypeDefault valueDescription
emailstr, NoneNoneemail address of the permission to remove
domainstr, NoneNonedomain name of the permission to remove
permission_idstr, NoneNoneid of the permission to remove
file_idstr, NoneNonedrive file id
file_dictdict, NoneNonefile dictionary returned by Search Drive Files
querystr, NoneNonedrive query string to find target files
sourcestr, NoneNonename of the folder to search files in, is by default drive's root folder
suppress_errorsboolFalseon True will log warning message instead of raising an exception, defaults to False (exception is raised)

Parameters file_id, file_dict, query and source can be used to select files from which sharing is removed.

Parameters email, domain or permission_id can be used to select which share is removed from selected files.

param email:email address of the permission to remove
param domain:domain name of the permission to remove
param permission_id:
 id of the permission to remove
param file_id:drive file id
param file_dict:
 file dictionary returned by Search Drive Files
param query:drive query string to find target files
param source:name of the folder to search files in, is by default drive's root folder
param suppress_errors:
 on True will log warning message instead of raising an exception, defaults to False (exception is raised)
return:list of dictionaries containing information of file permissions removed

Examples

# Remove domain shares for files in the folder ${FOLDER_NAME} ${removed}= Remove Drive Share By Criteria ... domain=robocorp.com ... source=${FOLDER_NAME} # Remove email share for a file ${removed}= Remove Drive Share By Criteria ... query=name = 'okta.png' ... email=robocorp.tester@gmail.com

Keyword for removing share permission of file or folder permission id.

Arguments

ArgumentTypeDefault valueDescription
permission_idstrnullid of the permission to remove
file_idstr, NoneNonedrive file id
file_dictdict, NoneNonefile dictionary returned by Search Drive Files
querystr, NoneNonedrive query string to find target file, needs to match 1 file
sourcestr, NoneNonename of the folder to search files in, is by default drive's root folder
suppress_errorsboolFalseon True will log warning message instead of raising an exception, defaults to False (exception is raised)

Parameters file_id, file_dict, query and source can be used to select files from which sharing is removed.

param permission_id:
 id of the permission to remove
param file_id:drive file id
param file_dict:
 file dictionary returned by Search Drive Files
param query:drive query string to find target file, needs to match 1 file
param source:name of the folder to search files in, is by default drive's root folder
param suppress_errors:
 on True will log warning message instead of raising an exception, defaults to False (exception is raised)
return:dictionary of permission response

Examples

${share}= Add Drive Share ... query=name = 'sharable-files' and mimeType = 'application/vnd.google-apps.folder' ... email=robocorp.tester@gmail.com # # Remove Drive Share By Permission Id ${share}[permission_id] ${share}[file_id]

Rename sheet in the spreadsheet

Arguments

ArgumentTypeDefault valueDescription
spreadsheet_idstrnullid of the spreadsheet
sheet_namestrnullexisting name of the sheet
new_sheet_namestrnullname for the new sheet
param spreadsheet_id:
 id of the spreadsheet
param sheet_name:
 existing name of the sheet
param new_sheet_name:
 name for the new sheet
return:operation result as an dictionary

Examples

Python

result = GOOGLE.rename_sheet(spreadsheet_id, "Sheet1", "New name")

Robot Framework

${result}= Rename Sheet ${SPREADSHEET_ID} Sheet1 New name

Run the Google Apps Script function

Arguments

ArgumentTypeDefault valueDescription
script_idstrnullGoogle Script identifier
function_namestrnullname of the script function
parametersdict, NoneNonescript function parameters as a dictionary
param script_id:
 Google Script identifier
param function_name:
 name of the script function
param parameters:
 script function parameters as a dictionary
raises AssertionError:
 thrown when Google Script returns errors

Examples

&{params}= Create Dictionary formid=aaad4232 formvalues=1,2,3 ${response}= Run Script abc21397283712da submit_form ${params} Log Many ${response}

Save Process Document response into a binary file.

Arguments

ArgumentTypeDefault valueDescription
documentDocumentnullresponse document object
filepathstrnulltarget file to save binary object into
param document:response document object
param filepath:target file to save binary object into

Robot Framework example:

${document}= Process Document ... project_id=101134120147 ... region=eu ... processor_id=${RECEIPT_PROCESSOR} ... file_path=${file_in} # save response for later Save Document Response ${CURDIR}${/}google_processed.response

Python example:

document = GOOGLE.process_document( project_id=PROJECT_ID, region="eu", processor_id=PROCESSOR_ID, file_path="./files/receipt1.jpg", ) GOOGLE.save_document_response(document, "receipt.response")

Search Google Drive for files matching query string

Arguments

ArgumentTypeDefault valueDescription
querystr, NoneNonesearch string, defaults to None which means that all files and folders are returned
recurseboolFalseset to True if search should recursive
sourcestr, NoneNonesource directory where query is executed
param query:search string, defaults to None which means that all files and folders are returned
param recurse:set to True if search should recursive
param source:source directory where query is executed
return:list of files

Examples

${files}= Search Drive Files query=name contains 'hello' ${files}= Search Drive Files query=modifiedTime > '2020-06-04T12:00:00' ${files}= Search Drive Files query=mimeType contains 'image/' or mimeType contains 'video/' ${files}= Search Drive Files query=name contains '.yaml' recurse=True ${files}= Search Drive Files query=name contains '.yaml' source=datadirectory

Send an email message.

Arguments

ArgumentTypeDefault valueDescription
senderstrnullmessage sender
tostrnullmessage recipient
subjectstrnullmessage subject
message_textstrnullmessage body text
attachmentslist, NoneNone
htmlboolFalseset to True if message body is HTML (default False, plain text)
param sender:message sender
param to:message recipient
param subject:message subject
param message_text:
 message body text
param attachment:
 list of files to add as message attachments
param html:set to True if message body is HTML (default False, plain text)
return:sent message

Examples

${attachments}= Create List ... ${CURDIR}${/}random.txt ... ${CURDIR}${/}source.png Send Message me ... mika@robocorp.com ... message subject ... body of the message ... ${attachments}

Set Robocorp Vault name and secret key name :param vault_name: Robocorp Vault name :param vault_secret_key: Robocorp Vault secret key name :param auth_type: either serviceaccount or token

Arguments

ArgumentTypeDefault valueDescription
vault_namestr, NoneNone
vault_secret_keystr, NoneNone
auth_typestrserviceaccount

Synthesize speech synchronously

Arguments

ArgumentTypeDefault valueDescription
textstrnullinput text to synthesize
languagestren-USvoice language, defaults to "en-US"
namestren-US-Standard-Bvoice name, defaults to "en-US-Standard-B"
genderstrMALEvoice gender, defaults to "MALE"
encodingstrMP3result encoding type, defaults to "MP3"
target_filestrsynthesized.mp3save synthesized output to file, defaults to "synthesized.mp3"
param text:input text to synthesize
param language:voice language, defaults to "en-US"
param name:voice name, defaults to "en-US-Standard-B"
param gender:voice gender, defaults to "MALE"
param encoding:result encoding type, defaults to "MP3"
param target_file:
 save synthesized output to file, defaults to "synthesized.mp3"
return:synthesized output in bytes

Examples

Robot Framework

${result}= Synthesize Speech ${text}

Convert a column number into a column letter(s).

Arguments

ArgumentTypeDefault valueDescription
numberintnullcolumn number to convert
param number:column number to convert
return:column letter(s)

Translate text

Arguments

ArgumentTypeDefault valueDescription
textlist, strnulltext to translate
source_languagestr, NoneNonelanguage code
target_languagestr, NoneNonelanguage code
mime_typeTextType, NoneNonetext or html
param text:text to translate
param source_language:
 language code
param target_language:
 language code
param mime_type:
 text or html
return:translated text

Examples

Robot Framework

${result}= Translate ${TEXT} target_language=de

Update file specified by id, file dictionary or query string

Arguments

ArgumentTypeDefault valueDescription
file_idstr, NoneNonedrive file id
file_dictdict, NoneNonefile dictionary returned by Drive Search Files
querystr, NoneNonedrive query string to find target file, needs to match 1 file
sourcestr, NoneNonesource directory where query is executed
actionUpdateActionstarupdate action, default star file
multiple_okboolFalseset to True if it is ok to perform update on more than 1 file

Possible actions: - star - unstar - trash - untrash

param file_id:drive file id
param file_dict:
 file dictionary returned by Drive Search Files
param query:drive query string to find target file, needs to match 1 file
param source:source directory where query is executed
param action:update action, default star file
param multiple_ok:
 set to True if it is ok to perform update on more than 1 file
return:number of updated files

Examples

${folder_id}= Get Drive Folder Id datafolder ${updated}= Update Drive File query=name contains '.json' and '${folder_id}' in parents ... action=star ... multiple_ok=True

Insert values into sheet cells

Arguments

ArgumentTypeDefault valueDescription
spreadsheet_idstrnulltarget spreadsheet
sheet_rangestrnulltarget sheet range
valueslistnulllist of values to insert into sheet
major_dimensionstrCOLUMNSmajor dimension of the values, default COLUMNS
value_input_optionstrUSER_ENTEREDcontrols whether input strings are parsed or not, default USER_ENTERED
param spreadsheet_id:
 target spreadsheet
param sheet_range:
 target sheet range
param values:list of values to insert into sheet
param major_dimension:
 major dimension of the values, default COLUMNS
param value_input_option:
 controls whether input strings are parsed or not, default USER_ENTERED
return:operation result

Examples

Python

row_data = [[11, 12, 13], ['aa', 'bb', 'cc']] result = GOOGLE.update_sheet_values( spreadsheet_id, "A1:C1", row_data, "ROWS )

Robot Framework

${row} Evaluate [[22, 33 ,44]] ${result}= Update Sheet Values ... ${SPREADSHEET_ID} ... A6:C6 ... ${row} ... ROWS

Upload files into Drive

Arguments

ArgumentTypeDefault valueDescription
filenamestr, NoneNonename of the file to upload
folderstr, NoneNonetarget folder for upload
overwriteboolFalseset to True if already existing file should be overwritten
make_dirboolFalseset to True if folder should be created if it does not exist
param filename:name of the file to upload
param folder:target folder for upload
param overwrite:
 set to True if already existing file should be overwritten
param make_dir:set to True if folder should be created if it does not exist
return:uploaded file id

Examples

${file1_id}= Upload Drive File data.json # Upload file to drive root ${file2_id}= Upload Drive File newdata.json new_folder make_dir=True ${file3_id}= Upload Drive File data.json overwrite=True

Upload a file into a bucket

Arguments

ArgumentTypeDefault valueDescription
bucket_namestrnullname as string
filenamestrnullfilepath to upload file
target_namestrnulltarget object name
param bucket_name:
 name as string
param filename:filepath to upload file
param target_name:
 target object name

Examples

Robot Framework

Upload Storage File ${BUCKET_NAME} ... ${CURDIR}${/}test.txt test.txt

Upload files into a bucket

Arguments

ArgumentTypeDefault valueDescription
bucket_namestrnullname as string
filesdictnulldictionary of object names and filepaths

Example files: files = {"mytestimg": "image1.png", "mydoc": "google.pdf"}

param bucket_name:
 name as string
param files:dictionary of object names and filepaths

Examples

Robot Framework

${files}= Create Dictionary ... test1.txt ${CURDIR}${/}test1.txt ... test2.txt ${CURDIR}${/}test2.txt Upload Storage Files ${BUCKET_NAME} ${files}