Add Activepieces integration for workflow automation
- Add Activepieces fork with SmoothSchedule custom piece - Create integrations app with Activepieces service layer - Add embed token endpoint for iframe integration - Create Automations page with embedded workflow builder - Add sidebar visibility fix for embed mode - Add list inactive customers endpoint to Public API - Include SmoothSchedule triggers: event created/updated/cancelled - Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"presets": [["@nx/js/babel", { "useBuiltIns": "usage" }]]
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"extends": ["../../../../.eslintrc.json"],
|
||||
"ignorePatterns": ["!**/*"],
|
||||
"overrides": [
|
||||
{
|
||||
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": ["*.ts", "*.tsx"],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": ["*.js", "*.jsx"],
|
||||
"rules": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
# pieces-google-drive
|
||||
|
||||
This library was generated with [Nx](https://nx.dev).
|
||||
|
||||
## Running lint
|
||||
|
||||
Run `nx lint pieces-google-drive` to execute the lint via [ESLint](https://eslint.org/).
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "@activepieces/piece-google-drive",
|
||||
"version": "0.5.53",
|
||||
"dependencies": {
|
||||
"googleapis": "129.0.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"name": "pieces-google-drive",
|
||||
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
|
||||
"sourceRoot": "packages/pieces/community/google-drive/src",
|
||||
"projectType": "library",
|
||||
"targets": {
|
||||
"build": {
|
||||
"executor": "@nx/js:tsc",
|
||||
"outputs": [
|
||||
"{options.outputPath}"
|
||||
],
|
||||
"options": {
|
||||
"outputPath": "dist/packages/pieces/community/google-drive",
|
||||
"tsConfig": "packages/pieces/community/google-drive/tsconfig.lib.json",
|
||||
"packageJson": "packages/pieces/community/google-drive/package.json",
|
||||
"main": "packages/pieces/community/google-drive/src/index.ts",
|
||||
"assets": [
|
||||
"packages/pieces/community/google-drive/*.md",
|
||||
{
|
||||
"input": "packages/pieces/community/google-drive/src/i18n",
|
||||
"output": "./src/i18n",
|
||||
"glob": "**/!(i18n.json)"
|
||||
}
|
||||
],
|
||||
"buildableProjectDepsInPackageJsonType": "dependencies",
|
||||
"updateBuildableProjectDepsInPackageJson": true
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build",
|
||||
"prebuild"
|
||||
]
|
||||
},
|
||||
"lint": {
|
||||
"executor": "@nx/eslint:lint",
|
||||
"outputs": [
|
||||
"{options.outputFile}"
|
||||
]
|
||||
},
|
||||
"prebuild": {
|
||||
"executor": "nx:run-commands",
|
||||
"options": {
|
||||
"cwd": "packages/pieces/community/google-drive",
|
||||
"command": "bun install --no-save --silent"
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build"
|
||||
]
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"Google Drive": "Google Drive",
|
||||
"Cloud storage and file backup": "Cloud storage and file backup",
|
||||
"Create new folder": "Create new folder",
|
||||
"Create new file": "Create new file",
|
||||
"Upload file": "Upload file",
|
||||
"Read file": "Read file",
|
||||
"Get File": "Get File",
|
||||
"List files": "List files",
|
||||
"Search": "Search",
|
||||
"Duplicate File": "Duplicate File",
|
||||
"Save Document as PDF": "Save Document as PDF",
|
||||
"Update permissions": "Update permissions",
|
||||
"Delete permissions": "Delete permissions",
|
||||
"Set public access": "Set public access",
|
||||
"Move File": "Move File",
|
||||
"Delete file": "Delete file",
|
||||
"Trash file": "Trash file",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Create a new empty folder in your Google Drive": "Create a new empty folder in your Google Drive",
|
||||
"Create a new text file in your Google Drive from text": "Create a new text file in your Google Drive from text",
|
||||
"Upload a file in your Google Drive": "Upload a file in your Google Drive",
|
||||
"Read a selected file from google drive file": "Read a selected file from google drive file",
|
||||
"Get a file folder for files/sub-folders": "Get a file folder for files/sub-folders",
|
||||
"List files from a Google Drive folder": "List files from a Google Drive folder",
|
||||
"Search a Google Drive folder for files/sub-folders": "Search a Google Drive folder for files/sub-folders",
|
||||
"Duplicate a file from Google Drive. Returns the new file ID.": "Duplicate a file from Google Drive. Returns the new file ID.",
|
||||
"Save a document as PDF in a Google Drive folder": "Save a document as PDF in a Google Drive folder",
|
||||
"Update permissions for a file or folder": "Update permissions for a file or folder",
|
||||
"Removes a role from an user for a file or folder": "Removes a role from an user for a file or folder",
|
||||
"Set public access for a file or folder": "Set public access for a file or folder",
|
||||
"Moves a file from one folder to another.": "Moves a file from one folder to another.",
|
||||
"Delete permanently a file from your Google Drive": "Delete permanently a file from your Google Drive",
|
||||
"Move a file to the trash in your Google Drive": "Move a file to the trash in your Google Drive",
|
||||
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
|
||||
"Folder name": "Folder name",
|
||||
"Parent Folder": "Parent Folder",
|
||||
"Include Team Drives": "Include Team Drives",
|
||||
"File name": "File name",
|
||||
"Text": "Text",
|
||||
"Content type": "Content type",
|
||||
"File": "File",
|
||||
"File ID": "File ID",
|
||||
"Destination File name": "Destination File name",
|
||||
"File / Folder Id": "File / Folder Id",
|
||||
"Folder ID": "Folder ID",
|
||||
"Include Trashed": "Include Trashed",
|
||||
"Download Files": "Download Files",
|
||||
"Query Term": "Query Term",
|
||||
"Operator": "Operator",
|
||||
"Value": "Value",
|
||||
"File Type": "File Type",
|
||||
"Name": "Name",
|
||||
"Duplicate as": "Duplicate as",
|
||||
"Document ID": "Document ID",
|
||||
"File or Folder ID": "File or Folder ID",
|
||||
"User email": "User email",
|
||||
"Role": "Role",
|
||||
"Send invitation email": "Send invitation email",
|
||||
"Method": "Method",
|
||||
"Headers": "Headers",
|
||||
"Query Parameters": "Query Parameters",
|
||||
"Body": "Body",
|
||||
"No Error on Failure": "No Error on Failure",
|
||||
"Timeout (in seconds)": "Timeout (in seconds)",
|
||||
"The name of the new folder": "The name of the new folder",
|
||||
"Determines if folders from Team Drives should be included in the results.": "Determines if folders from Team Drives should be included in the results.",
|
||||
"The name of the new text file": "The name of the new text file",
|
||||
"The text content to add to file": "The text content to add to file",
|
||||
"Select file type": "Select file type",
|
||||
"The name of the file": "The name of the file",
|
||||
"The file URL or base64 to upload": "The file URL or base64 to upload",
|
||||
"File ID coming from | New File -> id |": "File ID coming from | New File -> id |",
|
||||
"The Id of the file/folder to search for.": "The Id of the file/folder to search for.",
|
||||
"Folder ID coming from | New Folder -> id | (or any other source)": "Folder ID coming from | New Folder -> id | (or any other source)",
|
||||
"Include new files that have been trashed.": "Include new files that have been trashed.",
|
||||
"Download all file contents in a list": "Download all file contents in a list",
|
||||
"The Query term or field of file/folder to search upon.": "The Query term or field of file/folder to search upon.",
|
||||
"The operator to create criteria.": "The operator to create criteria.",
|
||||
"Value of the field of file/folder to search for.": "Value of the field of file/folder to search for.",
|
||||
"(Optional) Choose between files and folders.": "(Optional) Choose between files and folders.",
|
||||
"The ID of the file to duplicate": "The ID of the file to duplicate",
|
||||
"The name of the new file": "The name of the new file",
|
||||
"The ID of the folder where the file will be duplicated": "The ID of the folder where the file will be duplicated",
|
||||
"If left unselected the file will be duplicated as it is": "If left unselected the file will be duplicated as it is",
|
||||
"The ID of the document to export": "The ID of the document to export",
|
||||
"The ID of the folder where the file will be exported": "The ID of the folder where the file will be exported",
|
||||
"The name of the new file (do not include the extension)": "The name of the new file (do not include the extension)",
|
||||
"The ID of the file or folder to update permissions for": "The ID of the file or folder to update permissions for",
|
||||
"The email address of the user to update permissions for": "The email address of the user to update permissions for",
|
||||
"The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles": "The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles",
|
||||
"Send an email to the user to notify them of the new permissions": "Send an email to the user to notify them of the new permissions",
|
||||
"The role to remove from user.": "The role to remove from user.",
|
||||
"You can use **Search Folder/File** action to retrieve ID.": "You can use **Search Folder/File** action to retrieve ID.",
|
||||
"The ID of the file to delete": "The ID of the file to delete",
|
||||
"The ID of the file to trash": "The ID of the file to trash",
|
||||
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
|
||||
"CSV": "CSV",
|
||||
"XML": "XML",
|
||||
"Full text search": "Full text search",
|
||||
"Contains": "Contains",
|
||||
"Equals": "Equals",
|
||||
"All": "All",
|
||||
"Files": "Files",
|
||||
"Folders": "Folders",
|
||||
"Google Sheets": "Google Sheets",
|
||||
"Google Docs": "Google Docs",
|
||||
"Organizer": "Organizer",
|
||||
"File Organizer": "File Organizer",
|
||||
"Writer": "Writer",
|
||||
"Commenter": "Commenter",
|
||||
"Reader": "Reader",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD",
|
||||
"New File": "New File",
|
||||
"New Folder": "New Folder",
|
||||
"Trigger when a new file is uploaded.": "Trigger when a new file is uploaded.",
|
||||
"Trigger when a new folder is created or uploaded.": "Trigger when a new folder is created or uploaded.",
|
||||
"Include File Content": "Include File Content",
|
||||
"Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files.": "Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files."
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"Cloud storage and file backup": "Cloudspeicher und Dateisicherung",
|
||||
"Create new folder": "Neuen Ordner erstellen",
|
||||
"Create new file": "Neue Datei erstellen",
|
||||
"Upload file": "Datei hochladen",
|
||||
"Read file": "Datei lesen",
|
||||
"Get File": "Datei abrufen",
|
||||
"List files": "Dateien auflisten",
|
||||
"Search": "Suche",
|
||||
"Duplicate File": "Datei duplizieren",
|
||||
"Save Document as PDF": "Dokument als PDF speichern",
|
||||
"Update permissions": "Update-Berechtigungen",
|
||||
"Delete permissions": "Berechtigungen löschen",
|
||||
"Set public access": "Öffentlichen Zugang festlegen",
|
||||
"Move File": "Datei verschieben",
|
||||
"Delete file": "Datei löschen",
|
||||
"Trash file": "Papierkorb",
|
||||
"Custom API Call": "Eigener API-Aufruf",
|
||||
"Create a new empty folder in your Google Drive": "Erstellen Sie einen neuen leeren Ordner in Ihrem Google Drive",
|
||||
"Create a new text file in your Google Drive from text": "Erstellen Sie eine neue Textdatei in Ihrem Google Drive aus Text",
|
||||
"Upload a file in your Google Drive": "Laden Sie eine Datei in Ihrem Google Drive hoch",
|
||||
"Read a selected file from google drive file": "Ausgewählte Datei aus Google Drive Datei lesen",
|
||||
"Get a file folder for files/sub-folders": "Datei Ordner für Dateien/Unterordner herunterladen",
|
||||
"List files from a Google Drive folder": "Dateien aus einem Google Drive-Ordner auflisten",
|
||||
"Search a Google Drive folder for files/sub-folders": "Suche in einem Google Drive Ordner nach Dateien/Unterordner",
|
||||
"Duplicate a file from Google Drive. Returns the new file ID.": "Dupliziere eine Datei von Google Drive. Gibt die neue Datei-ID zurück.",
|
||||
"Save a document as PDF in a Google Drive folder": "Speichern Sie ein Dokument als PDF in einem Google Drive Ordner",
|
||||
"Update permissions for a file or folder": "Update-Berechtigungen für eine Datei oder einen Ordner",
|
||||
"Removes a role from an user for a file or folder": "Entfernt eine Rolle von einem Benutzer für eine Datei oder einen Ordner",
|
||||
"Set public access for a file or folder": "Öffentlichen Zugriff für eine Datei oder einen Ordner festlegen",
|
||||
"Moves a file from one folder to another.": "Verschiebt eine Datei von einem Ordner in einen anderen.",
|
||||
"Delete permanently a file from your Google Drive": "Löschen Sie dauerhaft eine Datei aus Ihrem Google Drive",
|
||||
"Move a file to the trash in your Google Drive": "Datei in den Papierkorb in Ihrem Google Drive verschieben",
|
||||
"Make a custom API call to a specific endpoint": "Einen benutzerdefinierten API-Aufruf an einen bestimmten Endpunkt machen",
|
||||
"Folder name": "Ordnername",
|
||||
"Parent Folder": "Eltern-Ordner",
|
||||
"Include Team Drives": "Team-Drives einbeziehen",
|
||||
"File name": "Dateiname",
|
||||
"Text": "Text",
|
||||
"Content type": "Inhaltstyp",
|
||||
"File": "Datei",
|
||||
"File ID": "Datei-ID",
|
||||
"Destination File name": "Name der Zieldatei",
|
||||
"File / Folder Id": "Datei / Ordner-Id",
|
||||
"Folder ID": "Ordner-ID",
|
||||
"Include Trashed": "Papierkorb hinzufügen",
|
||||
"Depth Level": "Tiefenlevel",
|
||||
"Download Files": "Dateien herunterladen",
|
||||
"Query Term": "Abfragetermin",
|
||||
"Operator": "Operator",
|
||||
"Value": "Wert",
|
||||
"File Type": "Dateityp",
|
||||
"Name": "Name",
|
||||
"Duplicate as": "Duplizieren als",
|
||||
"Document ID": "Dokument-ID",
|
||||
"File or Folder ID": "Datei oder Ordner-ID",
|
||||
"User email": "Benutzer-E-Mail",
|
||||
"Role": "Rolle",
|
||||
"Send invitation email": "Einladungs-E-Mail senden",
|
||||
"Method": "Methode",
|
||||
"Headers": "Kopfzeilen",
|
||||
"Query Parameters": "Abfrageparameter",
|
||||
"Body": "Körper",
|
||||
"Response is Binary ?": "Antwort ist binär?",
|
||||
"No Error on Failure": "Kein Fehler bei Fehler",
|
||||
"Timeout (in seconds)": "Timeout (in Sekunden)",
|
||||
"The name of the new folder": "Der Name des neuen Ordners",
|
||||
"Determines if folders from Team Drives should be included in the results.": "Legt fest, ob Ordner von Team-Laufwerken in die Ergebnisse aufgenommen werden sollen.",
|
||||
"The name of the new text file": "Der Name der neuen Textdatei",
|
||||
"The text content to add to file": "Der Textinhalt zum Hinzufügen in die Datei",
|
||||
"Select file type": "Dateityp auswählen",
|
||||
"The name of the file": "Der Dateiname",
|
||||
"The file URL or base64 to upload": "Die URL oder base64 hochzuladen",
|
||||
"File ID coming from | New File -> id |": "Datei-ID von | Neue Datei -> id |",
|
||||
"The Id of the file/folder to search for.": "Die Id der zu suchenden Datei/Ordner.",
|
||||
"Folder ID coming from | New Folder -> id | (or any other source)": "Ordner-ID von | Neuer Ordner -> id | (oder jede andere Quelle)",
|
||||
"Include new files that have been trashed.": "Fügen Sie neue Dateien hinzu, die gelöscht wurden.",
|
||||
"How many levels deep to search for files. 1 = current folder only, 2 = current + next level, etc.": "Wie viele Ebenen tief zu suchen sind. 1 = nur aktueller Ordner, 2 = aktuelle + nächste Ebene, etc.",
|
||||
"Download all file contents in a list": "Alle Dateiinhalte in einer Liste herunterladen",
|
||||
"The Query term or field of file/folder to search upon.": "Der Abfragebegriff oder Feld des zu suchenden Datei/Ordners.",
|
||||
"The operator to create criteria.": "Der Operator, um Kriterien zu erstellen.",
|
||||
"Value of the field of file/folder to search for.": "Wert des zu suchenden Datei-/Ordnerfeldes.",
|
||||
"(Optional) Choose between files and folders.": "(Optional) Wählen Sie zwischen Dateien und Ordnern.",
|
||||
"The ID of the file to duplicate": "Die ID der zu duplizierenden Datei",
|
||||
"The name of the new file": "Der Name der neuen Datei",
|
||||
"The ID of the folder where the file will be duplicated": "Die ID des Ordners, in dem die Datei dupliziert wird",
|
||||
"If left unselected the file will be duplicated as it is": "Wenn nicht ausgewählt wird, wird die Datei wie sie ist dupliziert",
|
||||
"The ID of the document to export": "Die ID des zu exportierenden Dokuments",
|
||||
"The ID of the folder where the file will be exported": "Die ID des Ordners, in dem die Datei exportiert wird",
|
||||
"The name of the new file (do not include the extension)": "Der Name der neuen Datei (keine Endung enthalten)",
|
||||
"The ID of the file or folder to update permissions for": "Die ID der Datei oder des Ordners zum Aktualisieren der Berechtigungen für",
|
||||
"The email address of the user to update permissions for": "Die E-Mail-Adresse des Benutzers zum Aktualisieren der Berechtigungen für",
|
||||
"The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles": "Die Rolle, die dem Benutzer gewährt werden soll. Siehe mehr unter: https://developers.google.com/drive/api/guides/ref-roles",
|
||||
"Send an email to the user to notify them of the new permissions": "Sende eine E-Mail an den Benutzer, um ihn über die neuen Berechtigungen zu benachrichtigen",
|
||||
"The role to remove from user.": "Die Rolle, die vom Benutzer entfernt werden soll.",
|
||||
"You can use **Search Folder/File** action to retrieve ID.": "Du kannst die **Ordner/Datei** Aktion verwenden, um ID zu erhalten.",
|
||||
"The ID of the file to delete": "Die ID der zu löschenden Datei",
|
||||
"The ID of the file to trash": "Die ID der zu trash Datei",
|
||||
"Authorization headers are injected automatically from your connection.": "Autorisierungs-Header werden automatisch von Ihrer Verbindung injiziert.",
|
||||
"Enable for files like PDFs, images, etc..": "Aktivieren für Dateien wie PDFs, Bilder, etc..",
|
||||
"CSV": "CSV",
|
||||
"XML": "XML",
|
||||
"Full text search": "Volltextsuche",
|
||||
"Contains": "Enthält",
|
||||
"Equals": "Gleich",
|
||||
"All": "Alle",
|
||||
"Files": "Dateien",
|
||||
"Folders": "Ordner",
|
||||
"Google Sheets": "Google Tabellen",
|
||||
"Google Docs": "Google Docs",
|
||||
"Organizer": "Organisator",
|
||||
"File Organizer": "Datei-Organisator",
|
||||
"Writer": "Schriftsteller",
|
||||
"Commenter": "Kommentar",
|
||||
"Reader": "Leser",
|
||||
"GET": "ERHALTEN",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "LÖSCHEN",
|
||||
"HEAD": "HEAD",
|
||||
"New File": "Neue Datei",
|
||||
"New Folder": "Neuer Ordner",
|
||||
"Trigger when a new file is uploaded.": "Auslösen wenn eine neue Datei hochgeladen wird.",
|
||||
"Trigger when a new folder is created or uploaded.": "Auslösen wenn ein neuer Ordner erstellt oder hochgeladen wird.",
|
||||
"Include File Content": "Dateiinhalt einbeziehen",
|
||||
"Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files.": "Fügen Sie den Dateiinhalt in die Ausgabe ein. Dies erhöht die Zeit, die benötigt wird, um die Dateien abzurufen, und kann Probleme mit großen Dateien verursachen."
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"Cloud storage and file backup": "Almacenamiento en la nube y copia de seguridad",
|
||||
"Create new folder": "Crear nueva carpeta",
|
||||
"Create new file": "Crear nuevo archivo",
|
||||
"Upload file": "Subir archivo",
|
||||
"Read file": "Leer archivo",
|
||||
"Get File": "Obtener archivo",
|
||||
"List files": "Listar archivos",
|
||||
"Search": "Buscar",
|
||||
"Duplicate File": "Duplicar archivo",
|
||||
"Save Document as PDF": "Guardar documento como PDF",
|
||||
"Update permissions": "Actualizar permisos",
|
||||
"Delete permissions": "Eliminar permisos",
|
||||
"Set public access": "Establecer acceso público",
|
||||
"Move File": "Mover archivo",
|
||||
"Delete file": "Eliminar archivo",
|
||||
"Trash file": "Archivo basura",
|
||||
"Custom API Call": "Llamada API personalizada",
|
||||
"Create a new empty folder in your Google Drive": "Crear una nueva carpeta vacía en tu Google Drive",
|
||||
"Create a new text file in your Google Drive from text": "Crear un nuevo archivo de texto en tu Google Drive desde el texto",
|
||||
"Upload a file in your Google Drive": "Sube un archivo en tu Google Drive",
|
||||
"Read a selected file from google drive file": "Leer un archivo seleccionado de google drive",
|
||||
"Get a file folder for files/sub-folders": "Obtener una carpeta de archivos para archivos/subcarpetas",
|
||||
"List files from a Google Drive folder": "Listar archivos de una carpeta de Google Drive",
|
||||
"Search a Google Drive folder for files/sub-folders": "Buscar en una carpeta de Google Drive para archivos/subcarpetas",
|
||||
"Duplicate a file from Google Drive. Returns the new file ID.": "Duplicar un archivo de Google Drive. Devuelve el nuevo archivo ID.",
|
||||
"Save a document as PDF in a Google Drive folder": "Guardar un documento como PDF en una carpeta de Google Drive",
|
||||
"Update permissions for a file or folder": "Actualizar permisos para un archivo o carpeta",
|
||||
"Removes a role from an user for a file or folder": "Elimina un rol de un usuario para un archivo o carpeta",
|
||||
"Set public access for a file or folder": "Establecer acceso público para un archivo o carpeta",
|
||||
"Moves a file from one folder to another.": "Mueve un archivo de una carpeta a otra.",
|
||||
"Delete permanently a file from your Google Drive": "Eliminar permanentemente un archivo de tu Google Drive",
|
||||
"Move a file to the trash in your Google Drive": "Mover un archivo a la papelera en Google Drive",
|
||||
"Make a custom API call to a specific endpoint": "Hacer una llamada API personalizada a un extremo específico",
|
||||
"Folder name": "Nombre de carpeta",
|
||||
"Parent Folder": "Carpeta padre",
|
||||
"Include Team Drives": "Incluye unidades de equipo",
|
||||
"File name": "Nombre del archivo",
|
||||
"Text": "Texto",
|
||||
"Content type": "Tipo de contenido",
|
||||
"File": "Archivo",
|
||||
"File ID": "ID de archivo",
|
||||
"Destination File name": "Nombre del archivo de destino",
|
||||
"File / Folder Id": "Archivo / Id de carpeta",
|
||||
"Folder ID": "ID Carpeta",
|
||||
"Include Trashed": "Incluye basura",
|
||||
"Depth Level": "Nivel Profundo",
|
||||
"Download Files": "Descargar archivos",
|
||||
"Query Term": "Término de consulta",
|
||||
"Operator": "Operador",
|
||||
"Value": "Valor",
|
||||
"File Type": "Tipo de archivo",
|
||||
"Name": "Nombre",
|
||||
"Duplicate as": "Duplicar como",
|
||||
"Document ID": "ID del documento",
|
||||
"File or Folder ID": "ID de archivo o carpeta",
|
||||
"User email": "Email de usuario",
|
||||
"Role": "Rol",
|
||||
"Send invitation email": "Enviar email de invitación",
|
||||
"Method": "Método",
|
||||
"Headers": "Encabezados",
|
||||
"Query Parameters": "Parámetros de consulta",
|
||||
"Body": "Cuerpo",
|
||||
"Response is Binary ?": "¿Respuesta es binaria?",
|
||||
"No Error on Failure": "No hay ningún error en fallo",
|
||||
"Timeout (in seconds)": "Tiempo de espera (en segundos)",
|
||||
"The name of the new folder": "El nombre de la nueva carpeta",
|
||||
"Determines if folders from Team Drives should be included in the results.": "Determina si las carpetas de Team Drives deben incluirse en los resultados.",
|
||||
"The name of the new text file": "El nombre del nuevo archivo de texto",
|
||||
"The text content to add to file": "El contenido del texto a añadir al archivo",
|
||||
"Select file type": "Seleccionar tipo de archivo",
|
||||
"The name of the file": "El nombre del archivo",
|
||||
"The file URL or base64 to upload": "La URL del archivo o base64 a subir",
|
||||
"File ID coming from | New File -> id |": "ID de archivo procedente de | Nuevo archivo -> id |",
|
||||
"The Id of the file/folder to search for.": "El Id del archivo/carpeta a buscar.",
|
||||
"Folder ID coming from | New Folder -> id | (or any other source)": "ID de Carpeta procedente de | Nueva Carpeta -> id | (o cualquier otra fuente)",
|
||||
"Include new files that have been trashed.": "Incluye nuevos archivos que han sido eliminados.",
|
||||
"How many levels deep to search for files. 1 = current folder only, 2 = current + next level, etc.": "Cuántos niveles de profundidad para buscar archivos. 1 = carpeta actual, 2 = actual + nivel siguiente, etc.",
|
||||
"Download all file contents in a list": "Descargar todo el contenido de un archivo en una lista",
|
||||
"The Query term or field of file/folder to search upon.": "El término de consulta o campo de archivo/carpeta en el que buscar.",
|
||||
"The operator to create criteria.": "El operador para crear criterios.",
|
||||
"Value of the field of file/folder to search for.": "Valor del campo de archivo/carpeta a buscar.",
|
||||
"(Optional) Choose between files and folders.": "(Opcional) Elige entre archivos y carpetas.",
|
||||
"The ID of the file to duplicate": "El ID del archivo a duplicar",
|
||||
"The name of the new file": "El nombre del nuevo archivo",
|
||||
"The ID of the folder where the file will be duplicated": "El ID de la carpeta donde se duplicará el archivo",
|
||||
"If left unselected the file will be duplicated as it is": "Si se deja sin seleccionar, el archivo será duplicado como está",
|
||||
"The ID of the document to export": "El ID del documento a exportar",
|
||||
"The ID of the folder where the file will be exported": "El ID de la carpeta donde se exportará el archivo",
|
||||
"The name of the new file (do not include the extension)": "El nombre del nuevo archivo (no incluir la extensión)",
|
||||
"The ID of the file or folder to update permissions for": "El ID del archivo o carpeta para actualizar los permisos para",
|
||||
"The email address of the user to update permissions for": "La dirección de correo electrónico del usuario para actualizar los permisos para",
|
||||
"The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles": "El rol a otorgar al usuario. Ver más en: https://Developopers.google.com/drive/api/guides/ref-roles",
|
||||
"Send an email to the user to notify them of the new permissions": "Enviar un correo electrónico al usuario para notificarle de los nuevos permisos",
|
||||
"The role to remove from user.": "El rol a eliminar del usuario.",
|
||||
"You can use **Search Folder/File** action to retrieve ID.": "Puedes usar la acción **Buscar carpeta/archivo** para recuperar el ID.",
|
||||
"The ID of the file to delete": "El ID del archivo a eliminar",
|
||||
"The ID of the file to trash": "El ID del archivo a la papelera",
|
||||
"Authorization headers are injected automatically from your connection.": "Las cabeceras de autorización se inyectan automáticamente desde tu conexión.",
|
||||
"Enable for files like PDFs, images, etc..": "Activar para archivos como PDFs, imágenes, etc.",
|
||||
"CSV": "CSV",
|
||||
"XML": "XML",
|
||||
"Full text search": "Búsqueda de texto completo",
|
||||
"Contains": "Contiene",
|
||||
"Equals": "Iguales",
|
||||
"All": "Todos",
|
||||
"Files": "Archivos",
|
||||
"Folders": "Carpetas",
|
||||
"Google Sheets": "Hojas de Google",
|
||||
"Google Docs": "Google Docs",
|
||||
"Organizer": "Organizador",
|
||||
"File Organizer": "Organizador de archivos",
|
||||
"Writer": "Escritor",
|
||||
"Commenter": "Comentario",
|
||||
"Reader": "Lector",
|
||||
"GET": "RECOGER",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "BORRAR",
|
||||
"HEAD": "LIMPIO",
|
||||
"New File": "Nuevo archivo",
|
||||
"New Folder": "Nueva carpeta",
|
||||
"Trigger when a new file is uploaded.": "Activar cuando se sube un nuevo archivo.",
|
||||
"Trigger when a new folder is created or uploaded.": "Activar cuando se crea o sube una nueva carpeta.",
|
||||
"Include File Content": "Incluye contenido del archivo",
|
||||
"Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files.": "Incluye el contenido del archivo en la salida. Esto aumentará el tiempo que tarda en obtener los archivos y puede causar problemas con archivos grandes."
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"Cloud storage and file backup": "Stockage et sauvegarde de fichiers dans le cloud",
|
||||
"Create new folder": "Créer un nouveau dossier",
|
||||
"Create new file": "Créer un nouveau fichier",
|
||||
"Upload file": "Charger un fichier",
|
||||
"Read file": "Lire le fichier",
|
||||
"Get File": "Récupérer le fichier",
|
||||
"List files": "Lister les fichiers",
|
||||
"Search": "Rechercher",
|
||||
"Duplicate File": "Dupliquer le fichier",
|
||||
"Save Document as PDF": "Enregistrer le document au format PDF",
|
||||
"Update permissions": "Mettre à jour les autorisations",
|
||||
"Delete permissions": "Supprimer les permissions",
|
||||
"Set public access": "Définir l'accès public",
|
||||
"Move File": "Déplacer le fichier",
|
||||
"Delete file": "Supprimer le fichier",
|
||||
"Trash file": "Fichier de la corbeille",
|
||||
"Custom API Call": "Appel API personnalisé",
|
||||
"Create a new empty folder in your Google Drive": "Créer un nouveau dossier vide dans votre Google Drive",
|
||||
"Create a new text file in your Google Drive from text": "Créez un nouveau fichier texte dans votre Google Drive à partir du texte",
|
||||
"Upload a file in your Google Drive": "Télécharger un fichier dans votre Google Drive",
|
||||
"Read a selected file from google drive file": "Lire un fichier sélectionné à partir du fichier Google Drive",
|
||||
"Get a file folder for files/sub-folders": "Récupérer un dossier de fichiers pour les fichiers/sous-dossiers",
|
||||
"List files from a Google Drive folder": "Lister les fichiers d'un dossier Google Drive",
|
||||
"Search a Google Drive folder for files/sub-folders": "Rechercher des fichiers/sous-dossiers dans un dossier Google Drive",
|
||||
"Duplicate a file from Google Drive. Returns the new file ID.": "Dupliquer un fichier depuis Google Drive. Renvoie le nouvel identifiant de fichier.",
|
||||
"Save a document as PDF in a Google Drive folder": "Enregistrer un document au format PDF dans un dossier Google Drive",
|
||||
"Update permissions for a file or folder": "Mettre à jour les permissions pour un fichier ou un dossier",
|
||||
"Removes a role from an user for a file or folder": "Supprime un rôle d'un utilisateur pour un fichier ou un dossier",
|
||||
"Set public access for a file or folder": "Définir l'accès public pour un fichier ou un dossier",
|
||||
"Moves a file from one folder to another.": "Déplace un fichier d'un dossier vers un autre.",
|
||||
"Delete permanently a file from your Google Drive": "Supprimer définitivement un fichier de votre Google Drive",
|
||||
"Move a file to the trash in your Google Drive": "Déplacez un fichier dans la corbeille de votre Google Drive",
|
||||
"Make a custom API call to a specific endpoint": "Passez un appel API personnalisé à un point de terminaison spécifique",
|
||||
"Folder name": "Nom du dossier",
|
||||
"Parent Folder": "Dossier parent",
|
||||
"Include Team Drives": "Inclure les lectures d'équipe",
|
||||
"File name": "Nom du fichier",
|
||||
"Text": "Texte du texte",
|
||||
"Content type": "Type de contenu",
|
||||
"File": "Ficher",
|
||||
"File ID": "ID du fichier",
|
||||
"Destination File name": "Nom du fichier de destination",
|
||||
"File / Folder Id": "Fichier / Id du dossier",
|
||||
"Folder ID": "ID du dossier",
|
||||
"Include Trashed": "Inclure la corbeille",
|
||||
"Depth Level": "Niveau de profondeur",
|
||||
"Download Files": "Télécharger les fichiers",
|
||||
"Query Term": "Condition de requête",
|
||||
"Operator": "Opérateur",
|
||||
"Value": "Valeur",
|
||||
"File Type": "Type de fichier",
|
||||
"Name": "Nom",
|
||||
"Duplicate as": "Dupliquer en tant que",
|
||||
"Document ID": "ID du document",
|
||||
"File or Folder ID": "ID du fichier ou du dossier",
|
||||
"User email": "E-mail de l'utilisateur",
|
||||
"Role": "Rôle",
|
||||
"Send invitation email": "Envoyer un e-mail d'invitation",
|
||||
"Method": "Méthode",
|
||||
"Headers": "En-têtes",
|
||||
"Query Parameters": "Paramètres de requête",
|
||||
"Body": "Corps",
|
||||
"Response is Binary ?": "La réponse est Binaire ?",
|
||||
"No Error on Failure": "Aucune erreur en cas d'échec",
|
||||
"Timeout (in seconds)": "Délai d'attente (en secondes)",
|
||||
"The name of the new folder": "Le nom du nouveau dossier",
|
||||
"Determines if folders from Team Drives should be included in the results.": "Détermine si les dossiers de Team Drives doivent être inclus dans les résultats.",
|
||||
"The name of the new text file": "Le nom du nouveau fichier texte",
|
||||
"The text content to add to file": "Le contenu du texte à ajouter au fichier",
|
||||
"Select file type": "Sélectionnez le type de fichier",
|
||||
"The name of the file": "Le nom du fichier",
|
||||
"The file URL or base64 to upload": "L'URL du fichier ou base64 à télécharger",
|
||||
"File ID coming from | New File -> id |": "ID du fichier venant de | Nouveau fichier -> id |",
|
||||
"The Id of the file/folder to search for.": "L'identifiant du fichier/dossier à rechercher.",
|
||||
"Folder ID coming from | New Folder -> id | (or any other source)": "ID du dossier venant de | Nouveau dossier -> id | (ou n'importe quelle autre source)",
|
||||
"Include new files that have been trashed.": "Inclure les nouveaux fichiers qui ont été mis à la corbeille.",
|
||||
"How many levels deep to search for files. 1 = current folder only, 2 = current + next level, etc.": "Combien de niveaux de profondeur pour rechercher des fichiers. 1 = dossier courant seulement, 2 = niveau actuel + niveau suivant, etc.",
|
||||
"Download all file contents in a list": "Télécharger tout le contenu du fichier dans une liste",
|
||||
"The Query term or field of file/folder to search upon.": "Le terme de requête ou le champ de fichier/dossier à rechercher.",
|
||||
"The operator to create criteria.": "L'opérateur pour créer des critères.",
|
||||
"Value of the field of file/folder to search for.": "Valeur du champ de fichier/dossier à rechercher.",
|
||||
"(Optional) Choose between files and folders.": "(Facultatif) Choisissez entre les fichiers et les dossiers.",
|
||||
"The ID of the file to duplicate": "L'ID du fichier à dupliquer",
|
||||
"The name of the new file": "Le nom du nouveau fichier",
|
||||
"The ID of the folder where the file will be duplicated": "L'ID du dossier où le fichier sera dupliqué",
|
||||
"If left unselected the file will be duplicated as it is": "Si laissé désélectionné, le fichier sera dupliqué tel quel",
|
||||
"The ID of the document to export": "L'ID du document à exporter",
|
||||
"The ID of the folder where the file will be exported": "L'ID du dossier où le fichier sera exporté",
|
||||
"The name of the new file (do not include the extension)": "Le nom du nouveau fichier (ne pas inclure l'extension)",
|
||||
"The ID of the file or folder to update permissions for": "L'ID du fichier ou du dossier pour mettre à jour les permissions pour",
|
||||
"The email address of the user to update permissions for": "L'adresse e-mail de l'utilisateur pour mettre à jour les autorisations pour",
|
||||
"The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles": "Le rôle à accorder à l'utilisateur. En savoir plus sur: https://developers.google.com/drive/api/guides/ref-roles",
|
||||
"Send an email to the user to notify them of the new permissions": "Envoyer un email à l'utilisateur pour l'informer des nouvelles autorisations",
|
||||
"The role to remove from user.": "Le rôle à supprimer de l'utilisateur.",
|
||||
"You can use **Search Folder/File** action to retrieve ID.": "Vous pouvez utiliser l'action **Recherche de dossier/fichier** pour récupérer l'ID.",
|
||||
"The ID of the file to delete": "L'ID du fichier à supprimer",
|
||||
"The ID of the file to trash": "L'ID du fichier à mettre dans la corbeille",
|
||||
"Authorization headers are injected automatically from your connection.": "Les en-têtes d'autorisation sont injectés automatiquement à partir de votre connexion.",
|
||||
"Enable for files like PDFs, images, etc..": "Activer pour les fichiers comme les PDFs, les images, etc.",
|
||||
"CSV": "CSV",
|
||||
"XML": "XML",
|
||||
"Full text search": "Recherche en texte complet",
|
||||
"Contains": "Contient",
|
||||
"Equals": "Egal",
|
||||
"All": "Tous",
|
||||
"Files": "Fichiers",
|
||||
"Folders": "Dossiers",
|
||||
"Google Sheets": "Feuilles Google",
|
||||
"Google Docs": "Google Docs",
|
||||
"Organizer": "Organisateur",
|
||||
"File Organizer": "Organisateur de fichiers",
|
||||
"Writer": "Écrivain",
|
||||
"Commenter": "Commentateur",
|
||||
"Reader": "Lecteur",
|
||||
"GET": "OBTENIR",
|
||||
"POST": "POSTER",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "EFFACER",
|
||||
"DELETE": "SUPPRIMER",
|
||||
"HEAD": "TÊTE",
|
||||
"New File": "Nouveau fichier",
|
||||
"New Folder": "New Folder",
|
||||
"Trigger when a new file is uploaded.": "Déclencher quand un nouveau fichier est téléchargé.",
|
||||
"Trigger when a new folder is created or uploaded.": "Déclencher lorsqu'un nouveau dossier est créé ou téléchargé.",
|
||||
"Include File Content": "Inclure le contenu du fichier",
|
||||
"Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files.": "Inclure le contenu du fichier dans la sortie. Cela augmentera le temps de récupération des fichiers et pourrait causer des problèmes avec les gros fichiers."
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"Google Drive": "Google Drive",
|
||||
"Cloud storage and file backup": "Cloud storage and file backup",
|
||||
"Create new folder": "Create new folder",
|
||||
"Create new file": "Create new file",
|
||||
"Upload file": "Upload file",
|
||||
"Read file": "Read file",
|
||||
"Get File": "Get File",
|
||||
"List files": "List files",
|
||||
"Search": "Search",
|
||||
"Duplicate File": "Duplicate File",
|
||||
"Save Document as PDF": "Save Document as PDF",
|
||||
"Update permissions": "Update permissions",
|
||||
"Delete permissions": "Delete permissions",
|
||||
"Set public access": "Set public access",
|
||||
"Move File": "Move File",
|
||||
"Delete file": "Delete file",
|
||||
"Trash file": "Trash file",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Create a new empty folder in your Google Drive": "Create a new empty folder in your Google Drive",
|
||||
"Create a new text file in your Google Drive from text": "Create a new text file in your Google Drive from text",
|
||||
"Upload a file in your Google Drive": "Upload a file in your Google Drive",
|
||||
"Read a selected file from google drive file": "Read a selected file from google drive file",
|
||||
"Get a file folder for files/sub-folders": "Get a file folder for files/sub-folders",
|
||||
"List files from a Google Drive folder": "List files from a Google Drive folder",
|
||||
"Search a Google Drive folder for files/sub-folders": "Search a Google Drive folder for files/sub-folders",
|
||||
"Duplicate a file from Google Drive. Returns the new file ID.": "Duplicate a file from Google Drive. Returns the new file ID.",
|
||||
"Save a document as PDF in a Google Drive folder": "Save a document as PDF in a Google Drive folder",
|
||||
"Update permissions for a file or folder": "Update permissions for a file or folder",
|
||||
"Removes a role from an user for a file or folder": "Removes a role from an user for a file or folder",
|
||||
"Set public access for a file or folder": "Set public access for a file or folder",
|
||||
"Moves a file from one folder to another.": "Moves a file from one folder to another.",
|
||||
"Delete permanently a file from your Google Drive": "Delete permanently a file from your Google Drive",
|
||||
"Move a file to the trash in your Google Drive": "Move a file to the trash in your Google Drive",
|
||||
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
|
||||
"Folder name": "Folder name",
|
||||
"Parent Folder": "Parent Folder",
|
||||
"Include Team Drives": "Include Team Drives",
|
||||
"File name": "File name",
|
||||
"Text": "Text",
|
||||
"Content type": "Content type",
|
||||
"File": "File",
|
||||
"File ID": "File ID",
|
||||
"Destination File name": "Destination File name",
|
||||
"File / Folder Id": "File / Folder Id",
|
||||
"Folder ID": "Folder ID",
|
||||
"Include Trashed": "Include Trashed",
|
||||
"Download Files": "Download Files",
|
||||
"Query Term": "Query Term",
|
||||
"Operator": "Operator",
|
||||
"Value": "Value",
|
||||
"File Type": "File Type",
|
||||
"Name": "Name",
|
||||
"Duplicate as": "Duplicate as",
|
||||
"Document ID": "Document ID",
|
||||
"File or Folder ID": "File or Folder ID",
|
||||
"User email": "User email",
|
||||
"Role": "Upadhi",
|
||||
"Send invitation email": "Send invitation email",
|
||||
"Method": "Method",
|
||||
"Headers": "Headers",
|
||||
"Query Parameters": "Query Parameters",
|
||||
"Body": "Body",
|
||||
"No Error on Failure": "No Error on Failure",
|
||||
"Timeout (in seconds)": "Timeout (in seconds)",
|
||||
"The name of the new folder": "The name of the new folder",
|
||||
"Determines if folders from Team Drives should be included in the results.": "Determines if folders from Team Drives should be included in the results.",
|
||||
"The name of the new text file": "The name of the new text file",
|
||||
"The text content to add to file": "The text content to add to file",
|
||||
"Select file type": "Select file type",
|
||||
"The name of the file": "The name of the file",
|
||||
"The file URL or base64 to upload": "The file URL or base64 to upload",
|
||||
"File ID coming from | New File -> id |": "File ID coming from | New File -> id |",
|
||||
"The Id of the file/folder to search for.": "The Id of the file/folder to search for.",
|
||||
"Folder ID coming from | New Folder -> id | (or any other source)": "Folder ID coming from | New Folder -> id | (or any other source)",
|
||||
"Include new files that have been trashed.": "Include new files that have been trashed.",
|
||||
"Download all file contents in a list": "Download all file contents in a list",
|
||||
"The Query term or field of file/folder to search upon.": "The Query term or field of file/folder to search upon.",
|
||||
"The operator to create criteria.": "The operator to create criteria.",
|
||||
"Value of the field of file/folder to search for.": "Value of the field of file/folder to search for.",
|
||||
"(Optional) Choose between files and folders.": "(Optional) Choose between files and folders.",
|
||||
"The ID of the file to duplicate": "The ID of the file to duplicate",
|
||||
"The name of the new file": "The name of the new file",
|
||||
"The ID of the folder where the file will be duplicated": "The ID of the folder where the file will be duplicated",
|
||||
"If left unselected the file will be duplicated as it is": "If left unselected the file will be duplicated as it is",
|
||||
"The ID of the document to export": "The ID of the document to export",
|
||||
"The ID of the folder where the file will be exported": "The ID of the folder where the file will be exported",
|
||||
"The name of the new file (do not include the extension)": "The name of the new file (do not include the extension)",
|
||||
"The ID of the file or folder to update permissions for": "The ID of the file or folder to update permissions for",
|
||||
"The email address of the user to update permissions for": "The email address of the user to update permissions for",
|
||||
"The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles": "The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles",
|
||||
"Send an email to the user to notify them of the new permissions": "Send an email to the user to notify them of the new permissions",
|
||||
"The role to remove from user.": "The role to remove from user.",
|
||||
"You can use **Search Folder/File** action to retrieve ID.": "You can use **Search Folder/File** action to retrieve ID.",
|
||||
"The ID of the file to delete": "The ID of the file to delete",
|
||||
"The ID of the file to trash": "The ID of the file to trash",
|
||||
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
|
||||
"CSV": "CSV",
|
||||
"XML": "XML",
|
||||
"Full text search": "Full text search",
|
||||
"Contains": "Contains",
|
||||
"Equals": "Equals",
|
||||
"All": "All",
|
||||
"Files": "Files",
|
||||
"Folders": "Folders",
|
||||
"Google Sheets": "Google Sheets",
|
||||
"Google Docs": "Google Docs",
|
||||
"Organizer": "Organizer",
|
||||
"File Organizer": "File Organizer",
|
||||
"Writer": "Writer",
|
||||
"Commenter": "Commenter",
|
||||
"Reader": "Reader",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD",
|
||||
"New File": "New File",
|
||||
"New Folder": "New Folder",
|
||||
"Trigger when a new file is uploaded.": "Trigger when a new file is uploaded.",
|
||||
"Trigger when a new folder is created or uploaded.": "Trigger when a new folder is created or uploaded.",
|
||||
"Include File Content": "Include File Content",
|
||||
"Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files.": "Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files."
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"Google Drive": "Google Drive",
|
||||
"Cloud storage and file backup": "Cloud storage and file backup",
|
||||
"Create new folder": "Create new folder",
|
||||
"Create new file": "Create new file",
|
||||
"Upload file": "Upload file",
|
||||
"Read file": "Read file",
|
||||
"Get File": "Get File",
|
||||
"List files": "List files",
|
||||
"Search": "Search",
|
||||
"Duplicate File": "Duplicate File",
|
||||
"Save Document as PDF": "Save Document as PDF",
|
||||
"Update permissions": "Update permissions",
|
||||
"Delete permissions": "Delete permissions",
|
||||
"Set public access": "Set public access",
|
||||
"Move File": "Move File",
|
||||
"Delete file": "Delete file",
|
||||
"Trash file": "Trash file",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Create a new empty folder in your Google Drive": "Create a new empty folder in your Google Drive",
|
||||
"Create a new text file in your Google Drive from text": "Create a new text file in your Google Drive from text",
|
||||
"Upload a file in your Google Drive": "Upload a file in your Google Drive",
|
||||
"Read a selected file from google drive file": "Read a selected file from google drive file",
|
||||
"Get a file folder for files/sub-folders": "Get a file folder for files/sub-folders",
|
||||
"List files from a Google Drive folder": "List files from a Google Drive folder",
|
||||
"Search a Google Drive folder for files/sub-folders": "Search a Google Drive folder for files/sub-folders",
|
||||
"Duplicate a file from Google Drive. Returns the new file ID.": "Duplicate a file from Google Drive. Returns the new file ID.",
|
||||
"Save a document as PDF in a Google Drive folder": "Save a document as PDF in a Google Drive folder",
|
||||
"Update permissions for a file or folder": "Update permissions for a file or folder",
|
||||
"Removes a role from an user for a file or folder": "Removes a role from an user for a file or folder",
|
||||
"Set public access for a file or folder": "Set public access for a file or folder",
|
||||
"Moves a file from one folder to another.": "Moves a file from one folder to another.",
|
||||
"Delete permanently a file from your Google Drive": "Delete permanently a file from your Google Drive",
|
||||
"Move a file to the trash in your Google Drive": "Move a file to the trash in your Google Drive",
|
||||
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
|
||||
"Folder name": "Folder name",
|
||||
"Parent Folder": "Parent Folder",
|
||||
"Include Team Drives": "Include Team Drives",
|
||||
"File name": "File name",
|
||||
"Text": "Text",
|
||||
"Content type": "Content type",
|
||||
"File": "File",
|
||||
"File ID": "File ID",
|
||||
"Destination File name": "Destination File name",
|
||||
"File / Folder Id": "File / Folder Id",
|
||||
"Folder ID": "Folder ID",
|
||||
"Include Trashed": "Include Trashed",
|
||||
"Download Files": "Download Files",
|
||||
"Query Term": "Query Term",
|
||||
"Operator": "Operator",
|
||||
"Value": "Value",
|
||||
"File Type": "File Type",
|
||||
"Name": "Name",
|
||||
"Duplicate as": "Duplicate as",
|
||||
"Document ID": "Document ID",
|
||||
"File or Folder ID": "File or Folder ID",
|
||||
"User email": "User email",
|
||||
"Role": "Peran",
|
||||
"Send invitation email": "Send invitation email",
|
||||
"Method": "Method",
|
||||
"Headers": "Headers",
|
||||
"Query Parameters": "Query Parameters",
|
||||
"Body": "Body",
|
||||
"No Error on Failure": "No Error on Failure",
|
||||
"Timeout (in seconds)": "Timeout (in seconds)",
|
||||
"The name of the new folder": "The name of the new folder",
|
||||
"Determines if folders from Team Drives should be included in the results.": "Determines if folders from Team Drives should be included in the results.",
|
||||
"The name of the new text file": "The name of the new text file",
|
||||
"The text content to add to file": "The text content to add to file",
|
||||
"Select file type": "Select file type",
|
||||
"The name of the file": "The name of the file",
|
||||
"The file URL or base64 to upload": "The file URL or base64 to upload",
|
||||
"File ID coming from | New File -> id |": "File ID coming from | New File -> id |",
|
||||
"The Id of the file/folder to search for.": "The Id of the file/folder to search for.",
|
||||
"Folder ID coming from | New Folder -> id | (or any other source)": "Folder ID coming from | New Folder -> id | (or any other source)",
|
||||
"Include new files that have been trashed.": "Include new files that have been trashed.",
|
||||
"Download all file contents in a list": "Download all file contents in a list",
|
||||
"The Query term or field of file/folder to search upon.": "The Query term or field of file/folder to search upon.",
|
||||
"The operator to create criteria.": "The operator to create criteria.",
|
||||
"Value of the field of file/folder to search for.": "Value of the field of file/folder to search for.",
|
||||
"(Optional) Choose between files and folders.": "(Optional) Choose between files and folders.",
|
||||
"The ID of the file to duplicate": "The ID of the file to duplicate",
|
||||
"The name of the new file": "The name of the new file",
|
||||
"The ID of the folder where the file will be duplicated": "The ID of the folder where the file will be duplicated",
|
||||
"If left unselected the file will be duplicated as it is": "If left unselected the file will be duplicated as it is",
|
||||
"The ID of the document to export": "The ID of the document to export",
|
||||
"The ID of the folder where the file will be exported": "The ID of the folder where the file will be exported",
|
||||
"The name of the new file (do not include the extension)": "The name of the new file (do not include the extension)",
|
||||
"The ID of the file or folder to update permissions for": "The ID of the file or folder to update permissions for",
|
||||
"The email address of the user to update permissions for": "The email address of the user to update permissions for",
|
||||
"The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles": "The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles",
|
||||
"Send an email to the user to notify them of the new permissions": "Send an email to the user to notify them of the new permissions",
|
||||
"The role to remove from user.": "The role to remove from user.",
|
||||
"You can use **Search Folder/File** action to retrieve ID.": "You can use **Search Folder/File** action to retrieve ID.",
|
||||
"The ID of the file to delete": "The ID of the file to delete",
|
||||
"The ID of the file to trash": "The ID of the file to trash",
|
||||
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
|
||||
"CSV": "CSV",
|
||||
"XML": "XML",
|
||||
"Full text search": "Full text search",
|
||||
"Contains": "Contains",
|
||||
"Equals": "Equals",
|
||||
"All": "Semua",
|
||||
"Files": "Files",
|
||||
"Folders": "Folders",
|
||||
"Google Sheets": "Google Sheets",
|
||||
"Google Docs": "Google Docs",
|
||||
"Organizer": "Organizer",
|
||||
"File Organizer": "File Organizer",
|
||||
"Writer": "Writer",
|
||||
"Commenter": "Commenter",
|
||||
"Reader": "Reader",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD",
|
||||
"New File": "New File",
|
||||
"New Folder": "New Folder",
|
||||
"Trigger when a new file is uploaded.": "Trigger when a new file is uploaded.",
|
||||
"Trigger when a new folder is created or uploaded.": "Trigger when a new folder is created or uploaded.",
|
||||
"Include File Content": "Include File Content",
|
||||
"Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files.": "Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files."
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"Cloud storage and file backup": "クラウドストレージとファイルバックアップ",
|
||||
"Create new folder": "新しいフォルダを作成",
|
||||
"Create new file": "新しいファイルを作成",
|
||||
"Upload file": "ファイルをアップロード",
|
||||
"Read file": "ファイルの読み取り",
|
||||
"Get File": "ファイルを取得する",
|
||||
"List files": "ファイル一覧",
|
||||
"Search": "検索",
|
||||
"Duplicate File": "ファイルを複製",
|
||||
"Save Document as PDF": "ドキュメントを PDF として保存",
|
||||
"Update permissions": "権限の更新",
|
||||
"Delete permissions": "権限を削除",
|
||||
"Set public access": "公開アクセスを設定",
|
||||
"Move File": "ファイルを移動",
|
||||
"Delete file": "ファイルを削除",
|
||||
"Trash file": "ゴミ箱ファイル",
|
||||
"Custom API Call": "カスタムAPI通話",
|
||||
"Create a new empty folder in your Google Drive": "Google ドライブに新しい空のフォルダを作成します",
|
||||
"Create a new text file in your Google Drive from text": "テキストからGoogleドライブに新しいテキストファイルを作成します",
|
||||
"Upload a file in your Google Drive": "Google ドライブにファイルをアップロード",
|
||||
"Read a selected file from google drive file": "Google ドライブファイルから選択したファイルを読み込みます",
|
||||
"Get a file folder for files/sub-folders": "ファイル/サブフォルダのファイルフォルダを取得",
|
||||
"List files from a Google Drive folder": "Google ドライブフォルダからファイルを一覧表示する",
|
||||
"Search a Google Drive folder for files/sub-folders": "ファイル/サブフォルダの Google Drive フォルダを検索します",
|
||||
"Duplicate a file from Google Drive. Returns the new file ID.": "Google ドライブからファイルを複製します。新しいファイル ID を返します。",
|
||||
"Save a document as PDF in a Google Drive folder": "Google ドライブフォルダにドキュメントを PDF として保存",
|
||||
"Update permissions for a file or folder": "ファイルまたはフォルダの権限を更新",
|
||||
"Removes a role from an user for a file or folder": "ファイルまたはフォルダのユーザーからロールを削除します。",
|
||||
"Set public access for a file or folder": "ファイルまたはフォルダの公開アクセスを設定",
|
||||
"Moves a file from one folder to another.": "ファイルをあるフォルダから別のフォルダに移動します。",
|
||||
"Delete permanently a file from your Google Drive": "Google ドライブから永久にファイルを削除する",
|
||||
"Move a file to the trash in your Google Drive": "Google ドライブ内のゴミ箱にファイルを移動する",
|
||||
"Make a custom API call to a specific endpoint": "特定のエンドポイントへのカスタム API コールを実行します。",
|
||||
"Folder name": "フォルダ名",
|
||||
"Parent Folder": "親フォルダ",
|
||||
"Include Team Drives": "チームドライブを含む",
|
||||
"File name": "ファイル名",
|
||||
"Text": "テキスト",
|
||||
"Content type": "コンテンツタイプ",
|
||||
"File": "ファイル",
|
||||
"File ID": "ファイルID",
|
||||
"Destination File name": "保存先のファイル名",
|
||||
"File / Folder Id": "ファイル / フォルダ ID",
|
||||
"Folder ID": "フォルダID",
|
||||
"Include Trashed": "ゴミ箱を含める",
|
||||
"Depth Level": "深さレベル",
|
||||
"Download Files": "ファイルをダウンロード",
|
||||
"Query Term": "クエリの用語",
|
||||
"Operator": "演算子",
|
||||
"Value": "値",
|
||||
"File Type": "ファイルの種類",
|
||||
"Name": "Name",
|
||||
"Duplicate as": "次として複製:",
|
||||
"Document ID": "ドキュメントID",
|
||||
"File or Folder ID": "ファイルまたはフォルダID",
|
||||
"User email": "ユーザーのメールアドレス",
|
||||
"Role": "ロール",
|
||||
"Send invitation email": "招待メールを送信",
|
||||
"Method": "方法",
|
||||
"Headers": "ヘッダー",
|
||||
"Query Parameters": "クエリパラメータ",
|
||||
"Body": "本文",
|
||||
"Response is Binary ?": "応答はバイナリですか?",
|
||||
"No Error on Failure": "失敗時にエラーはありません",
|
||||
"Timeout (in seconds)": "タイムアウト(秒)",
|
||||
"The name of the new folder": "新しいフォルダの名前",
|
||||
"Determines if folders from Team Drives should be included in the results.": "チームドライブのフォルダを結果に含めるかどうかを指定します。",
|
||||
"The name of the new text file": "新しいテキストファイルの名前",
|
||||
"The text content to add to file": "ファイルに追加するテキストコンテンツ",
|
||||
"Select file type": "ファイルの種類を選択",
|
||||
"The name of the file": "ファイルの名前",
|
||||
"The file URL or base64 to upload": "アップロードするファイル URL または base64",
|
||||
"File ID coming from | New File -> id |": "ファイルIDが出てきます | 新規ファイル -> id |",
|
||||
"The Id of the file/folder to search for.": "検索するファイル/フォルダのID。",
|
||||
"Folder ID coming from | New Folder -> id | (or any other source)": "フォルダIDが表示されます | 新規フォルダ -> id | (または他のソース)",
|
||||
"Include new files that have been trashed.": "ゴミ箱にある新しいファイルを含めます。",
|
||||
"How many levels deep to search for files. 1 = current folder only, 2 = current + next level, etc.": "1=現在のフォルダのみ、2=現在+次のレベルなど。",
|
||||
"Download all file contents in a list": "リスト内のすべてのファイルの内容をダウンロード",
|
||||
"The Query term or field of file/folder to search upon.": "検索するファイル/フォルダのクエリ用語またはフィールド。",
|
||||
"The operator to create criteria.": "基準を作成する演算子。",
|
||||
"Value of the field of file/folder to search for.": "検索するファイル/フォルダのフィールドの値。",
|
||||
"(Optional) Choose between files and folders.": "(オプション)ファイルとフォルダから選択します。",
|
||||
"The ID of the file to duplicate": "複製するファイルの ID",
|
||||
"The name of the new file": "新しいファイルの名前",
|
||||
"The ID of the folder where the file will be duplicated": "ファイルが複製されるフォルダのID",
|
||||
"If left unselected the file will be duplicated as it is": "選択されていない場合、ファイルはそのまま複製されます",
|
||||
"The ID of the document to export": "エクスポートするドキュメントの ID",
|
||||
"The ID of the folder where the file will be exported": "ファイルをエクスポートするフォルダのID",
|
||||
"The name of the new file (do not include the extension)": "新しいファイルの名前 (拡張子を含まない)",
|
||||
"The ID of the file or folder to update permissions for": "次の権限を更新するファイルまたはフォルダの ID",
|
||||
"The email address of the user to update permissions for": "権限を更新するユーザーのメールアドレス",
|
||||
"The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles": "ユーザーに付与するロール。詳細は https://developers.google.com/drive/api/guides/ref-roles",
|
||||
"Send an email to the user to notify them of the new permissions": "新しい権限をユーザーに通知するために電子メールを送信します",
|
||||
"The role to remove from user.": "ユーザーから削除するロール。",
|
||||
"You can use **Search Folder/File** action to retrieve ID.": "**Search Folder/File** アクションを使用して ID を取得できます。",
|
||||
"The ID of the file to delete": "削除するファイルの ID",
|
||||
"The ID of the file to trash": "ゴミ箱へのファイルのID",
|
||||
"Authorization headers are injected automatically from your connection.": "認証ヘッダは接続から自動的に注入されます。",
|
||||
"Enable for files like PDFs, images, etc..": "PDF、画像などのファイルを有効にします。",
|
||||
"CSV": "CSV",
|
||||
"XML": "XML",
|
||||
"Full text search": "全文検索",
|
||||
"Contains": "以下を含む",
|
||||
"Equals": "等しい",
|
||||
"All": "すべて",
|
||||
"Files": "ファイル",
|
||||
"Folders": "フォルダ",
|
||||
"Google Sheets": "Google シート",
|
||||
"Google Docs": "Google Docs",
|
||||
"Organizer": "オーガナイザー",
|
||||
"File Organizer": "ファイルオーガナイザ",
|
||||
"Writer": "Writer",
|
||||
"Commenter": "コメント",
|
||||
"Reader": "リーダー",
|
||||
"GET": "取得",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "削除",
|
||||
"HEAD": "頭",
|
||||
"New File": "新規ファイル",
|
||||
"New Folder": "新規フォルダ",
|
||||
"Trigger when a new file is uploaded.": "新しいファイルがアップロードされたときにトリガーします。",
|
||||
"Trigger when a new folder is created or uploaded.": "新しいフォルダが作成またはアップロードされたときにトリガーします。",
|
||||
"Include File Content": "ファイルの内容を含める",
|
||||
"Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files.": "出力にファイルの内容を含めます。これによりファイルの取得にかかる時間が長くなり、大きなファイルに問題が生じる可能性があります。"
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"Cloud storage and file backup": "Cloud opslag en bestandsback-up",
|
||||
"Create new folder": "Nieuwe map maken",
|
||||
"Create new file": "Nieuw bestand maken",
|
||||
"Upload file": "Bestand uploaden",
|
||||
"Read file": "Bestand lezen",
|
||||
"Get File": "Bestand ophalen",
|
||||
"List files": "Bestanden weergeven",
|
||||
"Search": "Zoeken",
|
||||
"Duplicate File": "Bestand dupliceren",
|
||||
"Save Document as PDF": "Document opslaan als PDF",
|
||||
"Update permissions": "Rechten bijwerken",
|
||||
"Delete permissions": "Machtigingen verwijderen",
|
||||
"Set public access": "Openbare toegang instellen",
|
||||
"Move File": "Bestand verplaatsen",
|
||||
"Delete file": "Bestand verwijderen",
|
||||
"Trash file": "Prullenbak bestand",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Create a new empty folder in your Google Drive": "Maak een nieuwe lege map aan in uw Google Drive",
|
||||
"Create a new text file in your Google Drive from text": "Maak een nieuw tekstbestand aan vanuit de tekst van Google Drive",
|
||||
"Upload a file in your Google Drive": "Upload een bestand in uw Google Drive",
|
||||
"Read a selected file from google drive file": "Lees een geselecteerd bestand van google drive bestand",
|
||||
"Get a file folder for files/sub-folders": "Verkrijg een bestandsmap voor bestanden/submappen",
|
||||
"List files from a Google Drive folder": "Bestanden uit een Google Drive-map weergeven",
|
||||
"Search a Google Drive folder for files/sub-folders": "Zoek een Google Drive-map voor bestanden/sub-mappen",
|
||||
"Duplicate a file from Google Drive. Returns the new file ID.": "Dupliceer een bestand van Google Drive. Retourneert het nieuwe bestand ID.",
|
||||
"Save a document as PDF in a Google Drive folder": "Een document als PDF opslaan in een Google Drive-map",
|
||||
"Update permissions for a file or folder": "Rechten voor een bestand of map bijwerken",
|
||||
"Removes a role from an user for a file or folder": "Verwijdert een rol van een gebruiker voor een bestand of map",
|
||||
"Set public access for a file or folder": "Openbare toegang instellen voor een bestand of map",
|
||||
"Moves a file from one folder to another.": "Verplaatst een bestand van de ene map naar de andere.",
|
||||
"Delete permanently a file from your Google Drive": "Verwijder permanent een bestand uit uw Google Drive",
|
||||
"Move a file to the trash in your Google Drive": "Verplaats een bestand naar de prullenbak in uw Google Drive",
|
||||
"Make a custom API call to a specific endpoint": "Maak een aangepaste API call naar een specifiek eindpunt",
|
||||
"Folder name": "Folder Name",
|
||||
"Parent Folder": "Bovenliggende map",
|
||||
"Include Team Drives": "Inclusief Team Drives",
|
||||
"File name": "Bestandsnaam is vereist",
|
||||
"Text": "Tekstveld",
|
||||
"Content type": "Soort inhoud",
|
||||
"File": "Bestand",
|
||||
"File ID": "Bestand ID",
|
||||
"Destination File name": "Bestemming bestandsnaam",
|
||||
"File / Folder Id": "Bestand / map ID",
|
||||
"Folder ID": "Map ID",
|
||||
"Include Trashed": "Omvatten naar prullenbak",
|
||||
"Depth Level": "Diepte Niveau",
|
||||
"Download Files": "Download bestanden",
|
||||
"Query Term": "Query Term",
|
||||
"Operator": "Operator",
|
||||
"Value": "Waarde",
|
||||
"File Type": "Type bestand",
|
||||
"Name": "Naam",
|
||||
"Duplicate as": "Dupliceren als",
|
||||
"Document ID": "Document ID",
|
||||
"File or Folder ID": "Bestand of map ID",
|
||||
"User email": "E-mail van gebruiker",
|
||||
"Role": "Functie",
|
||||
"Send invitation email": "Uitnodiging e-mail versturen",
|
||||
"Method": "Methode",
|
||||
"Headers": "Kopteksten",
|
||||
"Query Parameters": "Query parameters",
|
||||
"Body": "Lichaam",
|
||||
"Response is Binary ?": "Antwoord is binair?",
|
||||
"No Error on Failure": "Geen fout bij fout",
|
||||
"Timeout (in seconds)": "Time-out (in seconden)",
|
||||
"The name of the new folder": "De naam van de nieuwe map",
|
||||
"Determines if folders from Team Drives should be included in the results.": "Bepaalt of mappen van Team Drives moeten worden opgenomen in de resultaten.",
|
||||
"The name of the new text file": "De naam van het nieuwe tekstbestand",
|
||||
"The text content to add to file": "De tekstinhoud om toe te voegen aan het bestand",
|
||||
"Select file type": "Bestandstype selecteren",
|
||||
"The name of the file": "De naam van het bestand",
|
||||
"The file URL or base64 to upload": "De bestands-URL of base64 om te uploaden",
|
||||
"File ID coming from | New File -> id |": "Bestands-ID komt van ×New File -> id ×",
|
||||
"The Id of the file/folder to search for.": "De Id van het bestand/map waarnaar gezocht moet worden.",
|
||||
"Folder ID coming from | New Folder -> id | (or any other source)": "Map-ID komt van ‧ Nieuwe Map -> id →(of een andere bron)",
|
||||
"Include new files that have been trashed.": "Voeg nieuwe bestanden toe die naar de prullenbak zijn verwezen.",
|
||||
"How many levels deep to search for files. 1 = current folder only, 2 = current + next level, etc.": "Hoeveel levels diep om te zoeken naar bestanden. 1 = alleen de huidige map, 2 = huidig + volgend niveau, etc.",
|
||||
"Download all file contents in a list": "Download alle bestandsinhoud in een lijst",
|
||||
"The Query term or field of file/folder to search upon.": "De zoekterm of veld van bestand/map om op te zoeken.",
|
||||
"The operator to create criteria.": "De operator om criteria aan te maken.",
|
||||
"Value of the field of file/folder to search for.": "Waarde van het veld van het bestand/map waarnaar gezocht moet worden.",
|
||||
"(Optional) Choose between files and folders.": "(Optioneel) Kies tussen bestanden en mappen.",
|
||||
"The ID of the file to duplicate": "De ID van het te dupliceren bestand",
|
||||
"The name of the new file": "De naam van het nieuwe bestand",
|
||||
"The ID of the folder where the file will be duplicated": "De ID van de map waar het bestand zal worden gedupliceerd",
|
||||
"If left unselected the file will be duplicated as it is": "Indien niet geselecteerd wordt het bestand gedupliceerd omdat het is",
|
||||
"The ID of the document to export": "Het ID van het te exporteren document",
|
||||
"The ID of the folder where the file will be exported": "Het ID van de map waar het bestand wordt geëxporteerd",
|
||||
"The name of the new file (do not include the extension)": "De naam van het nieuwe bestand (voeg de extensie niet toe)",
|
||||
"The ID of the file or folder to update permissions for": "Het ID van het bestand of map om de rechten bij te werken voor",
|
||||
"The email address of the user to update permissions for": "Het e-mailadres van de gebruiker om de rechten bij te werken voor",
|
||||
"The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles": "De rol om gebruiker toe te kennen. Zie meer op: https://developers.google.com/drive/api/guides/ref-roles",
|
||||
"Send an email to the user to notify them of the new permissions": "Stuur een e-mail naar de gebruiker om hem op de hoogte te stellen van de nieuwe machtigingen",
|
||||
"The role to remove from user.": "De rol om te verwijderen van de gebruiker.",
|
||||
"You can use **Search Folder/File** action to retrieve ID.": "U kunt de actie **Zoekmap/bestand** gebruiken om ID op te halen.",
|
||||
"The ID of the file to delete": "Het ID van het te verwijderen bestand",
|
||||
"The ID of the file to trash": "Het ID van het bestand om te prullenbak",
|
||||
"Authorization headers are injected automatically from your connection.": "Autorisatie headers worden automatisch geïnjecteerd vanuit uw verbinding.",
|
||||
"Enable for files like PDFs, images, etc..": "Inschakelen voor bestanden zoals PDF's, afbeeldingen etc..",
|
||||
"CSV": "csv",
|
||||
"XML": "XML",
|
||||
"Full text search": "Volledige tekst zoeken",
|
||||
"Contains": "Bevat",
|
||||
"Equals": "Gelijk aan",
|
||||
"All": "Allemaal",
|
||||
"Files": "Bestanden",
|
||||
"Folders": "Mappen",
|
||||
"Google Sheets": "Google Sheets",
|
||||
"Google Docs": "Google Docs",
|
||||
"Organizer": "Organisator",
|
||||
"File Organizer": "Bestands Organisator",
|
||||
"Writer": "Schrijver",
|
||||
"Commenter": "Commentaar",
|
||||
"Reader": "Lezer",
|
||||
"GET": "KRIJG",
|
||||
"POST": "POSTE",
|
||||
"PATCH": "BEKIJK",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "VERWIJDEREN",
|
||||
"HEAD": "HOOFD",
|
||||
"New File": "Nieuw bestand",
|
||||
"New Folder": "Nieuwe map",
|
||||
"Trigger when a new file is uploaded.": "Trigger wanneer een nieuw bestand wordt geüpload.",
|
||||
"Trigger when a new folder is created or uploaded.": "Trigger wanneer een nieuwe map is gemaakt of geüpload.",
|
||||
"Include File Content": "Bestandsinhoud toevoegen",
|
||||
"Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files.": "Opnemen van de bestandsinhoud in de uitvoer. Dit verhoogt de tijd die nodig is om de bestanden op te halen en kan problemen veroorzaken met grote bestanden."
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"Cloud storage and file backup": "Armazenamento na nuvem e backup de arquivos",
|
||||
"Create new folder": "Criar nova pasta",
|
||||
"Create new file": "Criar novo arquivo",
|
||||
"Upload file": "Upload de arquivo",
|
||||
"Read file": "Arquivo de leitura",
|
||||
"Get File": "Obter arquivo",
|
||||
"List files": "Lista de arquivos",
|
||||
"Search": "Pesquisar",
|
||||
"Duplicate File": "Arquivo duplicado",
|
||||
"Save Document as PDF": "Salvar documento como PDF",
|
||||
"Update permissions": "Atualizar permissões",
|
||||
"Delete permissions": "Excluir permissões",
|
||||
"Set public access": "Definir acesso público",
|
||||
"Move File": "Mover Arquivo",
|
||||
"Delete file": "Excluir arquivo",
|
||||
"Trash file": "Arquivo de lixo",
|
||||
"Custom API Call": "Chamada de API personalizada",
|
||||
"Create a new empty folder in your Google Drive": "Crie uma nova pasta vazia no Google Drive",
|
||||
"Create a new text file in your Google Drive from text": "Crie um novo arquivo de texto no Google Drive a partir do texto",
|
||||
"Upload a file in your Google Drive": "Envie um arquivo no seu Google Drive",
|
||||
"Read a selected file from google drive file": "Leia um arquivo selecionado do arquivo Google drive",
|
||||
"Get a file folder for files/sub-folders": "Obter uma pasta de arquivo para arquivos/subpastas",
|
||||
"List files from a Google Drive folder": "Lista arquivos de uma pasta do Google Drive",
|
||||
"Search a Google Drive folder for files/sub-folders": "Procurar uma pasta no Google Drive por arquivos/subpastas",
|
||||
"Duplicate a file from Google Drive. Returns the new file ID.": "Duplicar um arquivo do Google Drive. Retorna o novo ID do arquivo.",
|
||||
"Save a document as PDF in a Google Drive folder": "Salvar um documento como PDF em uma pasta do Google Drive",
|
||||
"Update permissions for a file or folder": "Atualizar permissões para um arquivo ou pasta",
|
||||
"Removes a role from an user for a file or folder": "Remove uma função de um usuário para um arquivo ou pasta",
|
||||
"Set public access for a file or folder": "Definir acesso público para um arquivo ou pasta",
|
||||
"Moves a file from one folder to another.": "Move um arquivo de uma pasta para outra.",
|
||||
"Delete permanently a file from your Google Drive": "Excluir permanentemente um arquivo do seu Google Drive",
|
||||
"Move a file to the trash in your Google Drive": "Mova um arquivo para a lixeira no seu Google Drive",
|
||||
"Make a custom API call to a specific endpoint": "Faça uma chamada de API personalizada para um ponto de extremidade específico",
|
||||
"Folder name": "Nome Pasta",
|
||||
"Parent Folder": "Pasta pai",
|
||||
"Include Team Drives": "Incluir unidades da equipe",
|
||||
"File name": "Nome do arquivo",
|
||||
"Text": "texto",
|
||||
"Content type": "Tipo de conteúdo",
|
||||
"File": "Arquivo",
|
||||
"File ID": "ID do arquivo",
|
||||
"Destination File name": "Nome do arquivo destino",
|
||||
"File / Folder Id": "Arquivo / ID da pasta",
|
||||
"Folder ID": "ID da pasta",
|
||||
"Include Trashed": "Incluir na lixeira",
|
||||
"Depth Level": "Nível de Profundidade",
|
||||
"Download Files": "Baixar arquivos",
|
||||
"Query Term": "Termo de consulta",
|
||||
"Operator": "Operador",
|
||||
"Value": "Valor",
|
||||
"File Type": "Tipo de arquivo",
|
||||
"Name": "Nome",
|
||||
"Duplicate as": "Duplicar como",
|
||||
"Document ID": "ID do documento",
|
||||
"File or Folder ID": "ID do Arquivo ou Pasta",
|
||||
"User email": "E-mail do usuário",
|
||||
"Role": "Funções",
|
||||
"Send invitation email": "Enviar e-mail de convite",
|
||||
"Method": "Método",
|
||||
"Headers": "Cabeçalhos",
|
||||
"Query Parameters": "Parâmetros da consulta",
|
||||
"Body": "Conteúdo",
|
||||
"Response is Binary ?": "A resposta é binária ?",
|
||||
"No Error on Failure": "Nenhum erro no Failure",
|
||||
"Timeout (in seconds)": "Tempo limite (em segundos)",
|
||||
"The name of the new folder": "O nome da nova pasta",
|
||||
"Determines if folders from Team Drives should be included in the results.": "Determina se as pastas do Team Drives devem ser incluídas nos resultados.",
|
||||
"The name of the new text file": "O nome do novo arquivo de texto",
|
||||
"The text content to add to file": "O conteúdo do texto a ser adicionado ao arquivo",
|
||||
"Select file type": "Selecionar tipo de arquivo",
|
||||
"The name of the file": "O nome do arquivo",
|
||||
"The file URL or base64 to upload": "URL do arquivo ou base64 para enviar",
|
||||
"File ID coming from | New File -> id |": "ID do arquivo vindo de ➜ Novo arquivo-> id (Automatic Translation)",
|
||||
"The Id of the file/folder to search for.": "O ID da pasta de arquivos a procurar",
|
||||
"Folder ID coming from | New Folder -> id | (or any other source)": "ID da pasta vinda de ➜ Nova pasta -> id − (ou qualquer outra fonte)",
|
||||
"Include new files that have been trashed.": "Incluir novos arquivos que foram descartados.",
|
||||
"How many levels deep to search for files. 1 = current folder only, 2 = current + next level, etc.": "Quantos níveis de profundidade para pesquisar por arquivos. 1 = pasta atual, 2 = corrente + próximo nível, etc.",
|
||||
"Download all file contents in a list": "Baixar todo o conteúdo de arquivo em uma lista",
|
||||
"The Query term or field of file/folder to search upon.": "O termo da consulta ou campo de arquivo/pasta para pesquisar.",
|
||||
"The operator to create criteria.": "O operador para criar critérios.",
|
||||
"Value of the field of file/folder to search for.": "Valor do campo de arquivo/pasta para procurar.",
|
||||
"(Optional) Choose between files and folders.": "(Opcional) Escolha entre arquivos e pastas.",
|
||||
"The ID of the file to duplicate": "O ID do arquivo para duplicar",
|
||||
"The name of the new file": "O nome do novo arquivo",
|
||||
"The ID of the folder where the file will be duplicated": "ID da pasta onde o arquivo será duplicado",
|
||||
"If left unselected the file will be duplicated as it is": "Se deixado desselecionado, o arquivo será duplicado como é",
|
||||
"The ID of the document to export": "O ID do documento a ser exportado",
|
||||
"The ID of the folder where the file will be exported": "O ID da pasta onde o arquivo será exportado",
|
||||
"The name of the new file (do not include the extension)": "O nome do novo arquivo (não inclua a extensão)",
|
||||
"The ID of the file or folder to update permissions for": "O ID do arquivo ou pasta para atualizar as permissões de",
|
||||
"The email address of the user to update permissions for": "O endereço de e-mail do usuário para atualizar as permissões para",
|
||||
"The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles": "A função para conceder ao usuário. Veja mais em: https://developers.google.com/drive/api/guides/ref-roles",
|
||||
"Send an email to the user to notify them of the new permissions": "Envie um e-mail para o usuário para notificá-lo sobre as novas permissões",
|
||||
"The role to remove from user.": "A função a remover do usuário.",
|
||||
"You can use **Search Folder/File** action to retrieve ID.": "Você pode usar a ação **Pesquisar pasta/Arquivo** para obter o ID.",
|
||||
"The ID of the file to delete": "O ID do arquivo a ser eliminado",
|
||||
"The ID of the file to trash": "A ID do arquivo para a lixeira",
|
||||
"Authorization headers are injected automatically from your connection.": "Os cabeçalhos de autorização são inseridos automaticamente a partir da sua conexão.",
|
||||
"Enable for files like PDFs, images, etc..": "Habilitar para arquivos como PDFs, imagens, etc..",
|
||||
"CSV": "Csv",
|
||||
"XML": "XML",
|
||||
"Full text search": "Pesquisa de texto completo",
|
||||
"Contains": "contém",
|
||||
"Equals": "iguais",
|
||||
"All": "TODOS",
|
||||
"Files": "arquivos",
|
||||
"Folders": "Pastas",
|
||||
"Google Sheets": "Planilhas Google",
|
||||
"Google Docs": "Google Docs",
|
||||
"Organizer": "Organizador",
|
||||
"File Organizer": "Organizador de arquivos",
|
||||
"Writer": "Escritor",
|
||||
"Commenter": "Comentador",
|
||||
"Reader": "Leitor",
|
||||
"GET": "OBTER",
|
||||
"POST": "POSTAR",
|
||||
"PATCH": "COMPRAR",
|
||||
"PUT": "COLOCAR",
|
||||
"DELETE": "EXCLUIR",
|
||||
"HEAD": "CABEÇA",
|
||||
"New File": "Novo arquivo",
|
||||
"New Folder": "Nova Pasta",
|
||||
"Trigger when a new file is uploaded.": "Dispara quando um novo arquivo é carregado.",
|
||||
"Trigger when a new folder is created or uploaded.": "Aciona quando uma nova pasta é criada ou enviada.",
|
||||
"Include File Content": "Incluir conteúdo do arquivo",
|
||||
"Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files.": "Inclua o conteúdo do arquivo no saída. Isso aumentará o tempo necessário para buscar os arquivos e poderá causar problemas com arquivos grandes."
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"Google Drive": "Google диск",
|
||||
"Cloud storage and file backup": "Облачное хранилище и резервное копирование файлов",
|
||||
"Create new folder": "Создать новую папку",
|
||||
"Create new file": "Создать новый файл",
|
||||
"Upload file": "Загрузить файл",
|
||||
"Read file": "Чтение файла",
|
||||
"Get File": "Получить файл",
|
||||
"List files": "Список файлов",
|
||||
"Search": "Search",
|
||||
"Duplicate File": "Дублировать файл",
|
||||
"Save Document as PDF": "Сохранить документ как PDF",
|
||||
"Update permissions": "Обновить права доступа",
|
||||
"Delete permissions": "Удалить права доступа",
|
||||
"Set public access": "Установить публичный доступ",
|
||||
"Move File": "Переместить файл",
|
||||
"Delete file": "Удалить файл",
|
||||
"Trash file": "Мусорный файл",
|
||||
"Custom API Call": "Пользовательский вызов API",
|
||||
"Create a new empty folder in your Google Drive": "Создайте новую пустую папку в Google Drive",
|
||||
"Create a new text file in your Google Drive from text": "Создать новый текстовый файл в Google Drive из текста",
|
||||
"Upload a file in your Google Drive": "Загрузите файл в Google Drive",
|
||||
"Read a selected file from google drive file": "Прочитать выбранный файл из файла google диска",
|
||||
"Get a file folder for files/sub-folders": "Получить папку для файлов/вложенных папок",
|
||||
"List files from a Google Drive folder": "Список файлов из папки Google Drive",
|
||||
"Search a Google Drive folder for files/sub-folders": "Поиск в папке Google Drive для файлов/вложенных папок",
|
||||
"Duplicate a file from Google Drive. Returns the new file ID.": "Дублировать файл из Google Drive. Возвращает ID нового файла.",
|
||||
"Save a document as PDF in a Google Drive folder": "Сохранить документ в PDF в папке Google Drive",
|
||||
"Update permissions for a file or folder": "Обновить права доступа к файлу или папке",
|
||||
"Removes a role from an user for a file or folder": "Удаляет роль пользователя для файла или папки",
|
||||
"Set public access for a file or folder": "Установить публичный доступ к файлу или папке",
|
||||
"Moves a file from one folder to another.": "Перемещает файл из одной папки в другую.",
|
||||
"Delete permanently a file from your Google Drive": "Окончательно удалить файл из Google Drive",
|
||||
"Move a file to the trash in your Google Drive": "Переместить файл в корзину в Google Drive",
|
||||
"Make a custom API call to a specific endpoint": "Сделать пользовательский API вызов к определенной конечной точке",
|
||||
"Folder name": "Имя папки",
|
||||
"Parent Folder": "Родительская папка",
|
||||
"Include Team Drives": "Включать групповые диски",
|
||||
"File name": "Имя файла",
|
||||
"Text": "Текст",
|
||||
"Content type": "Тип контента",
|
||||
"File": "Файл",
|
||||
"File ID": "ID файла",
|
||||
"Destination File name": "Имя целевого файла",
|
||||
"File / Folder Id": "Идентификатор файла / папки",
|
||||
"Folder ID": "ID папки",
|
||||
"Include Trashed": "Включать в корзину",
|
||||
"Depth Level": "Глубина",
|
||||
"Download Files": "Скачать файлы",
|
||||
"Query Term": "Запрос термина",
|
||||
"Operator": "Оператор",
|
||||
"Value": "Значение",
|
||||
"File Type": "Тип файла",
|
||||
"Name": "Наименование",
|
||||
"Duplicate as": "Дублировать как",
|
||||
"Document ID": "ID документа",
|
||||
"File or Folder ID": "ID файла или папки",
|
||||
"User email": "Email пользователя",
|
||||
"Role": "Роль",
|
||||
"Send invitation email": "Отправить приглашение по электронной почте",
|
||||
"Method": "Метод",
|
||||
"Headers": "Заголовки",
|
||||
"Query Parameters": "Параметры запроса",
|
||||
"Body": "Тело",
|
||||
"No Error on Failure": "Нет ошибок при ошибке",
|
||||
"Timeout (in seconds)": "Таймаут (в секундах)",
|
||||
"The name of the new folder": "Название новой папки",
|
||||
"Determines if folders from Team Drives should be included in the results.": "Определяет, должны ли в результаты включаться папки с Team Drive.",
|
||||
"The name of the new text file": "Имя нового текстового файла",
|
||||
"The text content to add to file": "Текстовое содержимое для добавления в файл",
|
||||
"Select file type": "Выберите тип файла",
|
||||
"The name of the file": "Имя файла",
|
||||
"The file URL or base64 to upload": "URL файла или base64 для загрузки",
|
||||
"File ID coming from | New File -> id |": "Файл ID пришедший из | Новый файл -> id |",
|
||||
"The Id of the file/folder to search for.": "Идентификатор файла/папки для поиска.",
|
||||
"Folder ID coming from | New Folder -> id | (or any other source)": "Идентификатор папки из | Новая папка -> id | (или любой другой источник)",
|
||||
"Include new files that have been trashed.": "Включить новые файлы, которые были помещены в корзину.",
|
||||
"How many levels deep to search for files. 1 = current folder only, 2 = current + next level, etc.": "Сколько уровней глубины для поиска файлов. 1 = только текущая папка, 2 = текущий + следующий уровень и т.д.",
|
||||
"Download all file contents in a list": "Скачать все содержимое файла в списке",
|
||||
"The Query term or field of file/folder to search upon.": "Термин запроса или поле файла/папки для поиска.",
|
||||
"The operator to create criteria.": "Оператор для создания критериев.",
|
||||
"Value of the field of file/folder to search for.": "Значение поля файла/папки для поиска.",
|
||||
"(Optional) Choose between files and folders.": "(Необязательно) Выберите между файлами и папками.",
|
||||
"The ID of the file to duplicate": "Повторяющийся ID файла",
|
||||
"The name of the new file": "Имя нового файла",
|
||||
"The ID of the folder where the file will be duplicated": "ID папки, в которой будет дублироваться файл",
|
||||
"If left unselected the file will be duplicated as it is": "Если оставить флажок, то файл будет дублироваться как он",
|
||||
"The ID of the document to export": "ID документа для экспорта",
|
||||
"The ID of the folder where the file will be exported": "ID папки, в которой будет экспортирован файл",
|
||||
"The name of the new file (do not include the extension)": "Имя нового файла (не включает расширение)",
|
||||
"The ID of the file or folder to update permissions for": "ID файла или папки для обновления разрешений для",
|
||||
"The email address of the user to update permissions for": "Адрес электронной почты пользователя для обновления разрешений для",
|
||||
"The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles": "Роль предоставить пользователю доступ. Подробнее по адресу https://developers.google.com/drive/api/guides/ref-roles",
|
||||
"Send an email to the user to notify them of the new permissions": "Отправить письмо пользователю для уведомления о новых разрешениях",
|
||||
"The role to remove from user.": "Роль для удаления от пользователя.",
|
||||
"You can use **Search Folder/File** action to retrieve ID.": "Вы можете использовать действие **Поиск папки/файла** для получения ID.",
|
||||
"The ID of the file to delete": "ID файла для удаления",
|
||||
"The ID of the file to trash": "ID файла в корзину",
|
||||
"Authorization headers are injected automatically from your connection.": "Заголовки авторизации включаются автоматически из вашего соединения.",
|
||||
"CSV": "CSV",
|
||||
"XML": "XML",
|
||||
"Full text search": "Поиск по полному тексту",
|
||||
"Contains": "Содержит",
|
||||
"Equals": "Равно",
|
||||
"All": "Все",
|
||||
"Files": "Файлы",
|
||||
"Folders": "Папки",
|
||||
"Google Sheets": "Google листы",
|
||||
"Google Docs": "Google Docs",
|
||||
"Organizer": "Организатор",
|
||||
"File Organizer": "Организатор файла",
|
||||
"Writer": "Автор",
|
||||
"Commenter": "Комментатор",
|
||||
"Reader": "Чтение",
|
||||
"GET": "ПОЛУЧИТЬ",
|
||||
"POST": "ПОСТ",
|
||||
"PATCH": "ПАТЧ",
|
||||
"PUT": "ПОКУПИТЬ",
|
||||
"DELETE": "УДАЛИТЬ",
|
||||
"HEAD": "HEAD",
|
||||
"New File": "Новый файл",
|
||||
"New Folder": "New Folder",
|
||||
"Trigger when a new file is uploaded.": "Срабатывать при загрузке нового файла.",
|
||||
"Trigger when a new folder is created or uploaded.": "Срабатывать при создании или загрузке новой папки.",
|
||||
"Include File Content": "Включить содержимое файла",
|
||||
"Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files.": "Включить содержимое файла в выходной файл. Это увеличит время, необходимое для получения файлов и может вызвать проблемы с большими файлами."
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"Cloud storage and file backup": "Cloud storage and file backup",
|
||||
"Create new folder": "Create new folder",
|
||||
"Create new file": "Create new file",
|
||||
"Upload file": "Upload file",
|
||||
"Read file": "Read file",
|
||||
"Get File": "Get File",
|
||||
"List files": "List files",
|
||||
"Search": "Search",
|
||||
"Duplicate File": "Duplicate File",
|
||||
"Save Document as PDF": "Save Document as PDF",
|
||||
"Update permissions": "Update permissions",
|
||||
"Delete permissions": "Delete permissions",
|
||||
"Set public access": "Set public access",
|
||||
"Move File": "Move File",
|
||||
"Delete file": "Delete file",
|
||||
"Trash file": "Trash file",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Create a new empty folder in your Google Drive": "Create a new empty folder in your Google Drive",
|
||||
"Create a new text file in your Google Drive from text": "Create a new text file in your Google Drive from text",
|
||||
"Upload a file in your Google Drive": "Upload a file in your Google Drive",
|
||||
"Read a selected file from google drive file": "Read a selected file from google drive file",
|
||||
"Get a file folder for files/sub-folders": "Get a file folder for files/sub-folders",
|
||||
"List files from a Google Drive folder": "List files from a Google Drive folder",
|
||||
"Search a Google Drive folder for files/sub-folders": "Search a Google Drive folder for files/sub-folders",
|
||||
"Duplicate a file from Google Drive. Returns the new file ID.": "Duplicate a file from Google Drive. Returns the new file ID.",
|
||||
"Save a document as PDF in a Google Drive folder": "Save a document as PDF in a Google Drive folder",
|
||||
"Update permissions for a file or folder": "Update permissions for a file or folder",
|
||||
"Removes a role from an user for a file or folder": "Removes a role from an user for a file or folder",
|
||||
"Set public access for a file or folder": "Set public access for a file or folder",
|
||||
"Moves a file from one folder to another.": "Moves a file from one folder to another.",
|
||||
"Delete permanently a file from your Google Drive": "Delete permanently a file from your Google Drive",
|
||||
"Move a file to the trash in your Google Drive": "Move a file to the trash in your Google Drive",
|
||||
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
|
||||
"Folder name": "Folder name",
|
||||
"Parent Folder": "Parent Folder",
|
||||
"Include Team Drives": "Include Team Drives",
|
||||
"File name": "File name",
|
||||
"Text": "Text",
|
||||
"Content type": "Content type",
|
||||
"File": "File",
|
||||
"File ID": "File ID",
|
||||
"Destination File name": "Destination File name",
|
||||
"File / Folder Id": "File / Folder Id",
|
||||
"Folder ID": "Folder ID",
|
||||
"Include Trashed": "Include Trashed",
|
||||
"Depth Level": "Depth Level",
|
||||
"Download Files": "Download Files",
|
||||
"Query Term": "Query Term",
|
||||
"Operator": "Operator",
|
||||
"Value": "Value",
|
||||
"File Type": "File Type",
|
||||
"Name": "Name",
|
||||
"Duplicate as": "Duplicate as",
|
||||
"Document ID": "Document ID",
|
||||
"File or Folder ID": "File or Folder ID",
|
||||
"User email": "User email",
|
||||
"Role": "Role",
|
||||
"Send invitation email": "Send invitation email",
|
||||
"Method": "Method",
|
||||
"Headers": "Headers",
|
||||
"Query Parameters": "Query Parameters",
|
||||
"Body": "Body",
|
||||
"Response is Binary ?": "Response is Binary ?",
|
||||
"No Error on Failure": "No Error on Failure",
|
||||
"Timeout (in seconds)": "Timeout (in seconds)",
|
||||
"The name of the new folder": "The name of the new folder",
|
||||
"Determines if folders from Team Drives should be included in the results.": "Determines if folders from Team Drives should be included in the results.",
|
||||
"The name of the new text file": "The name of the new text file",
|
||||
"The text content to add to file": "The text content to add to file",
|
||||
"Select file type": "Select file type",
|
||||
"The name of the file": "The name of the file",
|
||||
"The file URL or base64 to upload": "The file URL or base64 to upload",
|
||||
"File ID coming from | New File -> id |": "File ID coming from | New File -> id |",
|
||||
"The Id of the file/folder to search for.": "The Id of the file/folder to search for.",
|
||||
"Folder ID coming from | New Folder -> id | (or any other source)": "Folder ID coming from | New Folder -> id | (or any other source)",
|
||||
"Include new files that have been trashed.": "Include new files that have been trashed.",
|
||||
"How many levels deep to search for files. 1 = current folder only, 2 = current + next level, etc.": "How many levels deep to search for files. 1 = current folder only, 2 = current + next level, etc.",
|
||||
"Download all file contents in a list": "Download all file contents in a list",
|
||||
"The Query term or field of file/folder to search upon.": "The Query term or field of file/folder to search upon.",
|
||||
"The operator to create criteria.": "The operator to create criteria.",
|
||||
"Value of the field of file/folder to search for.": "Value of the field of file/folder to search for.",
|
||||
"(Optional) Choose between files and folders.": "(Optional) Choose between files and folders.",
|
||||
"The ID of the file to duplicate": "The ID of the file to duplicate",
|
||||
"The name of the new file": "The name of the new file",
|
||||
"The ID of the folder where the file will be duplicated": "The ID of the folder where the file will be duplicated",
|
||||
"If left unselected the file will be duplicated as it is": "If left unselected the file will be duplicated as it is",
|
||||
"The ID of the document to export": "The ID of the document to export",
|
||||
"The ID of the folder where the file will be exported": "The ID of the folder where the file will be exported",
|
||||
"The name of the new file (do not include the extension)": "The name of the new file (do not include the extension)",
|
||||
"The ID of the file or folder to update permissions for": "The ID of the file or folder to update permissions for",
|
||||
"The email address of the user to update permissions for": "The email address of the user to update permissions for",
|
||||
"The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles": "The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles",
|
||||
"Send an email to the user to notify them of the new permissions": "Send an email to the user to notify them of the new permissions",
|
||||
"The role to remove from user.": "The role to remove from user.",
|
||||
"You can use **Search Folder/File** action to retrieve ID.": "You can use **Search Folder/File** action to retrieve ID.",
|
||||
"The ID of the file to delete": "The ID of the file to delete",
|
||||
"The ID of the file to trash": "The ID of the file to trash",
|
||||
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
|
||||
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
|
||||
"CSV": "CSV",
|
||||
"XML": "XML",
|
||||
"Full text search": "Full text search",
|
||||
"Contains": "Contains",
|
||||
"Equals": "Equals",
|
||||
"All": "All",
|
||||
"Files": "Files",
|
||||
"Folders": "Folders",
|
||||
"Google Sheets": "Google Sheets",
|
||||
"Google Docs": "Google Docs",
|
||||
"Organizer": "Organizer",
|
||||
"File Organizer": "File Organizer",
|
||||
"Writer": "Writer",
|
||||
"Commenter": "Commenter",
|
||||
"Reader": "Reader",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD",
|
||||
"New File": "New File",
|
||||
"New Folder": "New Folder",
|
||||
"Trigger when a new file is uploaded.": "Trigger when a new file is uploaded.",
|
||||
"Trigger when a new folder is created or uploaded.": "Trigger when a new folder is created or uploaded.",
|
||||
"Include File Content": "Include File Content",
|
||||
"Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files.": "Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files."
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"Google Drive": "Google Drive",
|
||||
"Cloud storage and file backup": "Cloud storage and file backup",
|
||||
"Create new folder": "Create new folder",
|
||||
"Create new file": "Create new file",
|
||||
"Upload file": "Upload file",
|
||||
"Read file": "Read file",
|
||||
"Get File": "Get File",
|
||||
"List files": "List files",
|
||||
"Search": "Search",
|
||||
"Duplicate File": "Duplicate File",
|
||||
"Save Document as PDF": "Save Document as PDF",
|
||||
"Update permissions": "Update permissions",
|
||||
"Delete permissions": "Delete permissions",
|
||||
"Set public access": "Set public access",
|
||||
"Move File": "Move File",
|
||||
"Delete file": "Delete file",
|
||||
"Trash file": "Trash file",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Create a new empty folder in your Google Drive": "Create a new empty folder in your Google Drive",
|
||||
"Create a new text file in your Google Drive from text": "Create a new text file in your Google Drive from text",
|
||||
"Upload a file in your Google Drive": "Upload a file in your Google Drive",
|
||||
"Read a selected file from google drive file": "Read a selected file from google drive file",
|
||||
"Get a file folder for files/sub-folders": "Get a file folder for files/sub-folders",
|
||||
"List files from a Google Drive folder": "List files from a Google Drive folder",
|
||||
"Search a Google Drive folder for files/sub-folders": "Search a Google Drive folder for files/sub-folders",
|
||||
"Duplicate a file from Google Drive. Returns the new file ID.": "Duplicate a file from Google Drive. Returns the new file ID.",
|
||||
"Save a document as PDF in a Google Drive folder": "Save a document as PDF in a Google Drive folder",
|
||||
"Update permissions for a file or folder": "Update permissions for a file or folder",
|
||||
"Removes a role from an user for a file or folder": "Removes a role from an user for a file or folder",
|
||||
"Set public access for a file or folder": "Set public access for a file or folder",
|
||||
"Moves a file from one folder to another.": "Moves a file from one folder to another.",
|
||||
"Delete permanently a file from your Google Drive": "Delete permanently a file from your Google Drive",
|
||||
"Move a file to the trash in your Google Drive": "Move a file to the trash in your Google Drive",
|
||||
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
|
||||
"Folder name": "Folder name",
|
||||
"Parent Folder": "Parent Folder",
|
||||
"Include Team Drives": "Include Team Drives",
|
||||
"File name": "File name",
|
||||
"Text": "Text",
|
||||
"Content type": "Content type",
|
||||
"File": "File",
|
||||
"File ID": "File ID",
|
||||
"Destination File name": "Destination File name",
|
||||
"File / Folder Id": "File / Folder Id",
|
||||
"Folder ID": "Folder ID",
|
||||
"Include Trashed": "Include Trashed",
|
||||
"Depth Level": "Depth Level",
|
||||
"Download Files": "Download Files",
|
||||
"Query Term": "Query Term",
|
||||
"Operator": "Operator",
|
||||
"Value": "Value",
|
||||
"File Type": "File Type",
|
||||
"Name": "Name",
|
||||
"Duplicate as": "Duplicate as",
|
||||
"Document ID": "Document ID",
|
||||
"File or Folder ID": "File or Folder ID",
|
||||
"User email": "User email",
|
||||
"Role": "Vai trò",
|
||||
"Send invitation email": "Send invitation email",
|
||||
"Method": "Method",
|
||||
"Headers": "Headers",
|
||||
"Query Parameters": "Query Parameters",
|
||||
"Body": "Body",
|
||||
"No Error on Failure": "No Error on Failure",
|
||||
"Timeout (in seconds)": "Timeout (in seconds)",
|
||||
"The name of the new folder": "The name of the new folder",
|
||||
"Determines if folders from Team Drives should be included in the results.": "Determines if folders from Team Drives should be included in the results.",
|
||||
"The name of the new text file": "The name of the new text file",
|
||||
"The text content to add to file": "The text content to add to file",
|
||||
"Select file type": "Select file type",
|
||||
"The name of the file": "The name of the file",
|
||||
"The file URL or base64 to upload": "The file URL or base64 to upload",
|
||||
"File ID coming from | New File -> id |": "File ID coming from | New File -> id |",
|
||||
"The Id of the file/folder to search for.": "The Id of the file/folder to search for.",
|
||||
"Folder ID coming from | New Folder -> id | (or any other source)": "Folder ID coming from | New Folder -> id | (or any other source)",
|
||||
"Include new files that have been trashed.": "Include new files that have been trashed.",
|
||||
"How many levels deep to search for files. 1 = current folder only, 2 = current + next level, etc.": "How many levels deep to search for files. 1 = current folder only, 2 = current + next level, etc.",
|
||||
"Download all file contents in a list": "Download all file contents in a list",
|
||||
"The Query term or field of file/folder to search upon.": "The Query term or field of file/folder to search upon.",
|
||||
"The operator to create criteria.": "The operator to create criteria.",
|
||||
"Value of the field of file/folder to search for.": "Value of the field of file/folder to search for.",
|
||||
"(Optional) Choose between files and folders.": "(Optional) Choose between files and folders.",
|
||||
"The ID of the file to duplicate": "The ID of the file to duplicate",
|
||||
"The name of the new file": "The name of the new file",
|
||||
"The ID of the folder where the file will be duplicated": "The ID of the folder where the file will be duplicated",
|
||||
"If left unselected the file will be duplicated as it is": "If left unselected the file will be duplicated as it is",
|
||||
"The ID of the document to export": "The ID of the document to export",
|
||||
"The ID of the folder where the file will be exported": "The ID of the folder where the file will be exported",
|
||||
"The name of the new file (do not include the extension)": "The name of the new file (do not include the extension)",
|
||||
"The ID of the file or folder to update permissions for": "The ID of the file or folder to update permissions for",
|
||||
"The email address of the user to update permissions for": "The email address of the user to update permissions for",
|
||||
"The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles": "The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles",
|
||||
"Send an email to the user to notify them of the new permissions": "Send an email to the user to notify them of the new permissions",
|
||||
"The role to remove from user.": "The role to remove from user.",
|
||||
"You can use **Search Folder/File** action to retrieve ID.": "You can use **Search Folder/File** action to retrieve ID.",
|
||||
"The ID of the file to delete": "The ID of the file to delete",
|
||||
"The ID of the file to trash": "The ID of the file to trash",
|
||||
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
|
||||
"CSV": "CSV",
|
||||
"XML": "XML",
|
||||
"Full text search": "Full text search",
|
||||
"Contains": "Contains",
|
||||
"Equals": "Equals",
|
||||
"All": "Tất cả",
|
||||
"Files": "Files",
|
||||
"Folders": "Folders",
|
||||
"Google Sheets": "Google Sheets",
|
||||
"Google Docs": "Google Docs",
|
||||
"Organizer": "Organizer",
|
||||
"File Organizer": "File Organizer",
|
||||
"Writer": "Writer",
|
||||
"Commenter": "Commenter",
|
||||
"Reader": "Reader",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD",
|
||||
"New File": "New File",
|
||||
"New Folder": "New Folder",
|
||||
"Trigger when a new file is uploaded.": "Trigger when a new file is uploaded.",
|
||||
"Trigger when a new folder is created or uploaded.": "Trigger when a new folder is created or uploaded.",
|
||||
"Include File Content": "Include File Content",
|
||||
"Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files.": "Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files."
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"Cloud storage and file backup": "Cloud storage and file backup",
|
||||
"Create new folder": "Create new folder",
|
||||
"Create new file": "Create new file",
|
||||
"Upload file": "Upload file",
|
||||
"Read file": "Read file",
|
||||
"Get File": "Get File",
|
||||
"List files": "List files",
|
||||
"Search": "Search",
|
||||
"Duplicate File": "Duplicate File",
|
||||
"Save Document as PDF": "Save Document as PDF",
|
||||
"Update permissions": "Update permissions",
|
||||
"Delete permissions": "Delete permissions",
|
||||
"Set public access": "Set public access",
|
||||
"Move File": "Move File",
|
||||
"Delete file": "Delete file",
|
||||
"Trash file": "Trash file",
|
||||
"Custom API Call": "自定义 API 呼叫",
|
||||
"Create a new empty folder in your Google Drive": "Create a new empty folder in your Google Drive",
|
||||
"Create a new text file in your Google Drive from text": "Create a new text file in your Google Drive from text",
|
||||
"Upload a file in your Google Drive": "Upload a file in your Google Drive",
|
||||
"Read a selected file from google drive file": "Read a selected file from google drive file",
|
||||
"Get a file folder for files/sub-folders": "Get a file folder for files/sub-folders",
|
||||
"List files from a Google Drive folder": "List files from a Google Drive folder",
|
||||
"Search a Google Drive folder for files/sub-folders": "Search a Google Drive folder for files/sub-folders",
|
||||
"Duplicate a file from Google Drive. Returns the new file ID.": "Duplicate a file from Google Drive. Returns the new file ID.",
|
||||
"Save a document as PDF in a Google Drive folder": "Save a document as PDF in a Google Drive folder",
|
||||
"Update permissions for a file or folder": "Update permissions for a file or folder",
|
||||
"Removes a role from an user for a file or folder": "Removes a role from an user for a file or folder",
|
||||
"Set public access for a file or folder": "Set public access for a file or folder",
|
||||
"Moves a file from one folder to another.": "Moves a file from one folder to another.",
|
||||
"Delete permanently a file from your Google Drive": "Delete permanently a file from your Google Drive",
|
||||
"Move a file to the trash in your Google Drive": "Move a file to the trash in your Google Drive",
|
||||
"Make a custom API call to a specific endpoint": "将一个自定义 API 调用到一个特定的终点",
|
||||
"Folder name": "Folder name",
|
||||
"Parent Folder": "父文件夹",
|
||||
"Include Team Drives": "Include Team Drives",
|
||||
"File name": "File name",
|
||||
"Text": "文本",
|
||||
"Content type": "Content type",
|
||||
"File": "文件",
|
||||
"File ID": "File ID",
|
||||
"Destination File name": "Destination File name",
|
||||
"File / Folder Id": "File / Folder Id",
|
||||
"Folder ID": "Folder ID",
|
||||
"Include Trashed": "Include Trashed",
|
||||
"Depth Level": "Depth Level",
|
||||
"Download Files": "Download Files",
|
||||
"Query Term": "Query Term",
|
||||
"Operator": "运算符",
|
||||
"Value": "值",
|
||||
"File Type": "File Type",
|
||||
"Name": "名称",
|
||||
"Duplicate as": "Duplicate as",
|
||||
"Document ID": "Document ID",
|
||||
"File or Folder ID": "File or Folder ID",
|
||||
"User email": "User email",
|
||||
"Role": "作用",
|
||||
"Send invitation email": "Send invitation email",
|
||||
"Method": "方法",
|
||||
"Headers": "信头",
|
||||
"Query Parameters": "查询参数",
|
||||
"Body": "正文内容",
|
||||
"Response is Binary ?": "Response is Binary ?",
|
||||
"No Error on Failure": "失败时没有错误",
|
||||
"Timeout (in seconds)": "超时(秒)",
|
||||
"The name of the new folder": "The name of the new folder",
|
||||
"Determines if folders from Team Drives should be included in the results.": "Determines if folders from Team Drives should be included in the results.",
|
||||
"The name of the new text file": "The name of the new text file",
|
||||
"The text content to add to file": "The text content to add to file",
|
||||
"Select file type": "Select file type",
|
||||
"The name of the file": "The name of the file",
|
||||
"The file URL or base64 to upload": "The file URL or base64 to upload",
|
||||
"File ID coming from | New File -> id |": "File ID coming from | New File -> id |",
|
||||
"The Id of the file/folder to search for.": "The Id of the file/folder to search for.",
|
||||
"Folder ID coming from | New Folder -> id | (or any other source)": "Folder ID coming from | New Folder -> id | (or any other source)",
|
||||
"Include new files that have been trashed.": "Include new files that have been trashed.",
|
||||
"How many levels deep to search for files. 1 = current folder only, 2 = current + next level, etc.": "How many levels deep to search for files. 1 = current folder only, 2 = current + next level, etc.",
|
||||
"Download all file contents in a list": "Download all file contents in a list",
|
||||
"The Query term or field of file/folder to search upon.": "The Query term or field of file/folder to search upon.",
|
||||
"The operator to create criteria.": "The operator to create criteria.",
|
||||
"Value of the field of file/folder to search for.": "Value of the field of file/folder to search for.",
|
||||
"(Optional) Choose between files and folders.": "(Optional) Choose between files and folders.",
|
||||
"The ID of the file to duplicate": "The ID of the file to duplicate",
|
||||
"The name of the new file": "The name of the new file",
|
||||
"The ID of the folder where the file will be duplicated": "The ID of the folder where the file will be duplicated",
|
||||
"If left unselected the file will be duplicated as it is": "If left unselected the file will be duplicated as it is",
|
||||
"The ID of the document to export": "The ID of the document to export",
|
||||
"The ID of the folder where the file will be exported": "The ID of the folder where the file will be exported",
|
||||
"The name of the new file (do not include the extension)": "The name of the new file (do not include the extension)",
|
||||
"The ID of the file or folder to update permissions for": "The ID of the file or folder to update permissions for",
|
||||
"The email address of the user to update permissions for": "The email address of the user to update permissions for",
|
||||
"The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles": "The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles",
|
||||
"Send an email to the user to notify them of the new permissions": "Send an email to the user to notify them of the new permissions",
|
||||
"The role to remove from user.": "The role to remove from user.",
|
||||
"You can use **Search Folder/File** action to retrieve ID.": "You can use **Search Folder/File** action to retrieve ID.",
|
||||
"The ID of the file to delete": "The ID of the file to delete",
|
||||
"The ID of the file to trash": "The ID of the file to trash",
|
||||
"Authorization headers are injected automatically from your connection.": "授权头自动从您的连接中注入。",
|
||||
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
|
||||
"CSV": "CSV",
|
||||
"XML": "XML",
|
||||
"Full text search": "Full text search",
|
||||
"Contains": "Contains",
|
||||
"Equals": "Equals",
|
||||
"All": "所有的",
|
||||
"Files": "Files",
|
||||
"Folders": "文件夹",
|
||||
"Google Sheets": "谷歌工作表",
|
||||
"Google Docs": "Google Docs",
|
||||
"Organizer": "Organizer",
|
||||
"File Organizer": "File Organizer",
|
||||
"Writer": "Writer",
|
||||
"Commenter": "Commenter",
|
||||
"Reader": "Reader",
|
||||
"GET": "获取",
|
||||
"POST": "帖子",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "弹出",
|
||||
"DELETE": "删除",
|
||||
"HEAD": "黑色",
|
||||
"New File": "New File",
|
||||
"New Folder": "新建文件夹",
|
||||
"Trigger when a new file is uploaded.": "Trigger when a new file is uploaded.",
|
||||
"Trigger when a new folder is created or uploaded.": "Trigger when a new folder is created or uploaded.",
|
||||
"Include File Content": "Include File Content",
|
||||
"Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files.": "Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files."
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
import {
|
||||
OAuth2PropertyValue,
|
||||
PieceAuth,
|
||||
createPiece,
|
||||
} from '@activepieces/pieces-framework';
|
||||
|
||||
import { createCustomApiCallAction } from '@activepieces/pieces-common';
|
||||
import { PieceCategory } from '@activepieces/shared';
|
||||
import { addPermission } from './lib/action/add-permission.action';
|
||||
import { googleDriveCreateNewFolder } from './lib/action/create-new-folder';
|
||||
import { googleDriveCreateNewTextFile } from './lib/action/create-new-text-file';
|
||||
import { deletePermission } from './lib/action/delete-permission.action';
|
||||
import { duplicateFileAction } from './lib/action/duplicate-file.action';
|
||||
import { googleDriveGetResourceById } from './lib/action/get-file-by-id';
|
||||
import { googleDriveListFiles } from './lib/action/list-files.action';
|
||||
import { readFile } from './lib/action/read-file';
|
||||
import { saveFileAsPdf } from './lib/action/save-file-as-pdf.action';
|
||||
import { googleDriveSearchFolder } from './lib/action/search-folder-or-file.action';
|
||||
import { googleDriveUploadFile } from './lib/action/upload-file';
|
||||
import { newFile } from './lib/triggers/new-file';
|
||||
import { newFolder } from './lib/triggers/new-folder';
|
||||
import { setPublicAccess } from './lib/action/set-public-access';
|
||||
import { moveFileAction } from './lib/action/move-file';
|
||||
import { googleDriveDeleteFile } from './lib/action/delete-file';
|
||||
import { googleDriveTrashFile } from './lib/action/send-to-trash';
|
||||
|
||||
export const googleDriveAuth = PieceAuth.OAuth2({
|
||||
description: '',
|
||||
authUrl: 'https://accounts.google.com/o/oauth2/auth',
|
||||
tokenUrl: 'https://oauth2.googleapis.com/token',
|
||||
required: true,
|
||||
scope: ['https://www.googleapis.com/auth/drive'],
|
||||
});
|
||||
|
||||
export const googleDrive = createPiece({
|
||||
minimumSupportedRelease: '0.5.6',
|
||||
logoUrl: 'https://cdn.activepieces.com/pieces/google-drive.png',
|
||||
categories: [PieceCategory.CONTENT_AND_FILES],
|
||||
displayName: 'Google Drive',
|
||||
description: 'Cloud storage and file backup',
|
||||
authors: [
|
||||
'BastienMe',
|
||||
'ArmanGiau3',
|
||||
'Vitalini',
|
||||
'pfernandez98',
|
||||
'kanarelo',
|
||||
'Salem-Alaa',
|
||||
'kishanprmr',
|
||||
'MoShizzle',
|
||||
'AbdulTheActivePiecer',
|
||||
'khaledmashaly',
|
||||
'abuaboud',
|
||||
'geekyme'
|
||||
],
|
||||
triggers: [newFile, newFolder],
|
||||
actions: [
|
||||
googleDriveCreateNewFolder,
|
||||
googleDriveCreateNewTextFile,
|
||||
googleDriveUploadFile,
|
||||
readFile,
|
||||
googleDriveGetResourceById,
|
||||
googleDriveListFiles,
|
||||
googleDriveSearchFolder,
|
||||
duplicateFileAction,
|
||||
saveFileAsPdf,
|
||||
addPermission,
|
||||
deletePermission,
|
||||
setPublicAccess,
|
||||
moveFileAction,
|
||||
googleDriveDeleteFile,
|
||||
googleDriveTrashFile,
|
||||
createCustomApiCallAction({
|
||||
baseUrl: () => 'https://www.googleapis.com/drive/v3',
|
||||
auth: googleDriveAuth,
|
||||
authMapping: async (auth) => ({
|
||||
Authorization: `Bearer ${(auth).access_token}`,
|
||||
}),
|
||||
}),
|
||||
],
|
||||
auth: googleDriveAuth,
|
||||
});
|
||||
@@ -0,0 +1,80 @@
|
||||
import { Property, createAction } from "@activepieces/pieces-framework";
|
||||
import { googleDriveAuth } from "../../";
|
||||
import { google } from 'googleapis';
|
||||
import { OAuth2Client } from 'googleapis-common';
|
||||
import { common } from "../common";
|
||||
|
||||
export const addPermission = createAction({
|
||||
auth: googleDriveAuth,
|
||||
name: 'update_permissions',
|
||||
description: 'Update permissions for a file or folder',
|
||||
displayName: 'Update permissions',
|
||||
props: {
|
||||
fileId: Property.ShortText({
|
||||
displayName: 'File or Folder ID',
|
||||
description: 'The ID of the file or folder to update permissions for',
|
||||
required: true,
|
||||
}),
|
||||
user_email: Property.ShortText({
|
||||
displayName: 'User email',
|
||||
description: 'The email address of the user to update permissions for',
|
||||
required: true,
|
||||
}),
|
||||
permission_name : Property.StaticDropdown({
|
||||
displayName: 'Role',
|
||||
description: 'The role to grant to user. See more at: https://developers.google.com/drive/api/guides/ref-roles',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{
|
||||
label: 'Organizer',
|
||||
value: 'organizer',
|
||||
},
|
||||
{
|
||||
label: 'File Organizer',
|
||||
value: 'fileOrganizer',
|
||||
},
|
||||
{
|
||||
label: 'Writer',
|
||||
value: 'writer',
|
||||
},
|
||||
{
|
||||
label: 'Commenter',
|
||||
value: 'commenter',
|
||||
},
|
||||
{
|
||||
label: 'Reader',
|
||||
value: 'reader',
|
||||
},
|
||||
|
||||
]
|
||||
}
|
||||
}),
|
||||
include_team_drives: common.properties.include_team_drives,
|
||||
send_invitation_email: Property.Checkbox({
|
||||
displayName: 'Send invitation email',
|
||||
description: 'Send an email to the user to notify them of the new permissions',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
const {fileId, user_email, permission_name, send_invitation_email,include_team_drives} = context.propsValue;
|
||||
|
||||
const authClient = new OAuth2Client();
|
||||
authClient.setCredentials(context.auth)
|
||||
|
||||
const drive = google.drive({ version: 'v3', auth: authClient });
|
||||
|
||||
const permission = { 'type': 'user', 'role': permission_name, 'emailAddress': user_email };
|
||||
|
||||
const result = await drive.permissions.create({
|
||||
requestBody: permission,
|
||||
fileId: fileId,
|
||||
sendNotificationEmail: send_invitation_email,
|
||||
supportsAllDrives: include_team_drives,
|
||||
});
|
||||
|
||||
return result.data;
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,40 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { googleDriveAuth } from '../../';
|
||||
import { common } from '../common';
|
||||
import { google } from 'googleapis';
|
||||
import { OAuth2Client } from 'googleapis-common';
|
||||
|
||||
export const googleDriveCreateNewFolder = createAction({
|
||||
auth: googleDriveAuth,
|
||||
name: 'create_new_gdrive_folder',
|
||||
description: 'Create a new empty folder in your Google Drive',
|
||||
displayName: 'Create new folder',
|
||||
props: {
|
||||
folderName: Property.ShortText({
|
||||
displayName: 'Folder name',
|
||||
description: 'The name of the new folder',
|
||||
required: true,
|
||||
}),
|
||||
parentFolder: common.properties.parentFolder,
|
||||
include_team_drives: common.properties.include_team_drives,
|
||||
},
|
||||
async run(context) {
|
||||
const authClient = new OAuth2Client();
|
||||
authClient.setCredentials(context.auth);
|
||||
|
||||
const drive = google.drive({ version: 'v3', auth: authClient });
|
||||
|
||||
const response = await drive.files.create({
|
||||
requestBody: {
|
||||
mimeType: 'application/vnd.google-apps.folder',
|
||||
name: context.propsValue.folderName,
|
||||
...(context.propsValue.parentFolder
|
||||
? { parents: [context.propsValue.parentFolder] }
|
||||
: {}),
|
||||
},
|
||||
supportsAllDrives: context.propsValue.include_team_drives,
|
||||
});
|
||||
|
||||
return response.data;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,89 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import {
|
||||
httpClient,
|
||||
HttpMethod,
|
||||
AuthenticationType,
|
||||
} from '@activepieces/pieces-common';
|
||||
import FormData from 'form-data';
|
||||
import { googleDriveAuth } from '../../';
|
||||
import { common } from '../common';
|
||||
|
||||
export const googleDriveCreateNewTextFile = createAction({
|
||||
auth: googleDriveAuth,
|
||||
name: 'create_new_gdrive_file',
|
||||
description: 'Create a new text file in your Google Drive from text',
|
||||
displayName: 'Create new file',
|
||||
props: {
|
||||
fileName: Property.ShortText({
|
||||
displayName: 'File name',
|
||||
description: 'The name of the new text file',
|
||||
required: true,
|
||||
}),
|
||||
text: Property.LongText({
|
||||
displayName: 'Text',
|
||||
description: 'The text content to add to file',
|
||||
required: true,
|
||||
}),
|
||||
fileType: Property.StaticDropdown({
|
||||
displayName: 'Content type',
|
||||
description: 'Select file type',
|
||||
required: true,
|
||||
defaultValue: 'plain/text',
|
||||
options: {
|
||||
options: [
|
||||
{
|
||||
label: 'Text',
|
||||
value: 'plain/text',
|
||||
},
|
||||
{
|
||||
label: 'CSV',
|
||||
value: 'text/csv',
|
||||
},
|
||||
{
|
||||
label: 'XML',
|
||||
value: 'text/xml',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
parentFolder: common.properties.parentFolder,
|
||||
include_team_drives: common.properties.include_team_drives,
|
||||
},
|
||||
async run(context) {
|
||||
const meta = {
|
||||
mimeType: context.propsValue.fileType,
|
||||
name: context.propsValue.fileName,
|
||||
...(context.propsValue.parentFolder
|
||||
? { parents: [context.propsValue.parentFolder] }
|
||||
: {}),
|
||||
};
|
||||
|
||||
const metaBuffer = Buffer.from(JSON.stringify(meta), 'utf-8');
|
||||
const textBuffer = Buffer.from(context.propsValue.text!, 'utf-8');
|
||||
|
||||
const form = new FormData();
|
||||
form.append('Metadata', metaBuffer, { contentType: 'application/json' });
|
||||
form.append('Media', textBuffer, {
|
||||
contentType: context.propsValue.fileType,
|
||||
});
|
||||
|
||||
const result = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: `https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart`,
|
||||
body: form,
|
||||
headers: {
|
||||
...form.getHeaders(),
|
||||
},
|
||||
queryParams: {
|
||||
supportsAllDrives: String(context.propsValue.include_team_drives || false),
|
||||
},
|
||||
authentication: {
|
||||
type: AuthenticationType.BEARER_TOKEN,
|
||||
token: context.auth.access_token,
|
||||
},
|
||||
});
|
||||
|
||||
console.debug('File creation response', result);
|
||||
return result.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,33 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { googleDriveAuth } from '../../';
|
||||
import { common } from '../common';
|
||||
import { google } from 'googleapis';
|
||||
import { OAuth2Client } from 'googleapis-common';
|
||||
|
||||
export const googleDriveDeleteFile = createAction({
|
||||
auth: googleDriveAuth,
|
||||
name: 'delete_gdrive_file',
|
||||
description: 'Delete permanently a file from your Google Drive',
|
||||
displayName: 'Delete file',
|
||||
props: {
|
||||
fileId: Property.ShortText({
|
||||
displayName: 'File ID',
|
||||
description: 'The ID of the file to delete',
|
||||
required: true,
|
||||
}),
|
||||
include_team_drives: common.properties.include_team_drives,
|
||||
},
|
||||
async run(context) {
|
||||
const authClient = new OAuth2Client();
|
||||
authClient.setCredentials(context.auth);
|
||||
|
||||
const drive = google.drive({ version: 'v3', auth: authClient });
|
||||
|
||||
const response = await drive.files.delete({
|
||||
fileId: context.propsValue.fileId,
|
||||
supportsAllDrives: context.propsValue.include_team_drives,
|
||||
});
|
||||
|
||||
return response.data;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,82 @@
|
||||
import { Property, createAction } from "@activepieces/pieces-framework";
|
||||
import { googleDriveAuth } from "../../";
|
||||
import { google } from 'googleapis';
|
||||
import { OAuth2Client } from 'googleapis-common';
|
||||
|
||||
export const deletePermission = createAction({
|
||||
auth: googleDriveAuth,
|
||||
name: 'delete_permissions',
|
||||
description: 'Removes a role from an user for a file or folder',
|
||||
displayName: 'Delete permissions',
|
||||
props: {
|
||||
fileId: Property.ShortText({
|
||||
displayName: 'File or Folder ID',
|
||||
description: 'The ID of the file or folder to update permissions for',
|
||||
required: true,
|
||||
}),
|
||||
user_email: Property.ShortText({
|
||||
displayName: 'User email',
|
||||
description: 'The email address of the user to update permissions for',
|
||||
required: true,
|
||||
}),
|
||||
permission_name : Property.StaticDropdown({
|
||||
displayName: 'Role',
|
||||
description: 'The role to remove from user.',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{
|
||||
label: 'Organizer',
|
||||
value: 'organizer',
|
||||
},
|
||||
{
|
||||
label: 'File Organizer',
|
||||
value: 'fileOrganizer',
|
||||
},
|
||||
{
|
||||
label: 'Writer',
|
||||
value: 'writer',
|
||||
},
|
||||
{
|
||||
label: 'Commenter',
|
||||
value: 'commenter',
|
||||
},
|
||||
{
|
||||
label: 'Reader',
|
||||
value: 'reader',
|
||||
},
|
||||
|
||||
]
|
||||
}
|
||||
}),
|
||||
},
|
||||
async run (context) {
|
||||
const [fileId, user_email] = [context.propsValue.fileId, context.propsValue.user_email];
|
||||
const authClient = new OAuth2Client();
|
||||
authClient.setCredentials(context.auth)
|
||||
|
||||
const drive = google.drive({ version: 'v3', auth: authClient });
|
||||
|
||||
const response_permissions_list = await drive.permissions.list({
|
||||
fileId: fileId,
|
||||
fields: 'permissions(id, emailAddress, role)',
|
||||
|
||||
});
|
||||
|
||||
if (response_permissions_list.data.permissions) {
|
||||
|
||||
for (const permission of response_permissions_list.data.permissions) {
|
||||
if (permission.emailAddress === user_email && permission.role === context.propsValue.permission_name) {
|
||||
await drive.permissions.delete({
|
||||
fileId: fileId,
|
||||
permissionId: permission.id ? permission.id : '',
|
||||
});
|
||||
return {removed: true, message: 'Permission removed'};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return {removed: false, message: 'Permission not found'};
|
||||
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,80 @@
|
||||
import { Property, createAction } from '@activepieces/pieces-framework';
|
||||
import { google } from 'googleapis';
|
||||
import { OAuth2Client } from 'googleapis-common';
|
||||
import { googleDriveAuth } from '../../index';
|
||||
import { common } from '../common';
|
||||
|
||||
export const duplicateFileAction = createAction({
|
||||
displayName: 'Duplicate File',
|
||||
auth: googleDriveAuth,
|
||||
name: 'duplicate_file',
|
||||
description: 'Duplicate a file from Google Drive. Returns the new file ID.',
|
||||
props: {
|
||||
fileId: Property.ShortText({
|
||||
displayName: 'File ID',
|
||||
description: 'The ID of the file to duplicate',
|
||||
required: true,
|
||||
}),
|
||||
name: Property.ShortText({
|
||||
displayName: 'Name',
|
||||
description: 'The name of the new file',
|
||||
required: true,
|
||||
}),
|
||||
folderId: Property.ShortText({
|
||||
displayName: 'Folder ID',
|
||||
description: 'The ID of the folder where the file will be duplicated',
|
||||
required: true,
|
||||
}),
|
||||
mimeType: Property.StaticDropdown({
|
||||
displayName: 'Duplicate as',
|
||||
description: 'If left unselected the file will be duplicated as it is',
|
||||
required: false,
|
||||
options: {
|
||||
options: [
|
||||
{
|
||||
label: 'Google Sheets',
|
||||
value: 'application/vnd.google-apps.spreadsheet',
|
||||
},
|
||||
{
|
||||
label: 'Google Docs',
|
||||
value: 'application/vnd.google-apps.document',
|
||||
}
|
||||
],
|
||||
},
|
||||
}),
|
||||
include_team_drives: common.properties.include_team_drives,
|
||||
},
|
||||
async run(context) {
|
||||
const authClient = new OAuth2Client();
|
||||
authClient.setCredentials(context.auth);
|
||||
|
||||
const fileId = context.propsValue.fileId;
|
||||
const nameForNewFile = context.propsValue.name;
|
||||
const parentFolderId = context.propsValue.folderId;
|
||||
const mimeType = context.propsValue.mimeType;
|
||||
|
||||
const drive = google.drive({ version: 'v3', auth: authClient });
|
||||
|
||||
const requestBody: any = {
|
||||
name: nameForNewFile,
|
||||
parents: [parentFolderId],
|
||||
};
|
||||
|
||||
if (mimeType) {
|
||||
requestBody.mimeType = mimeType;
|
||||
}
|
||||
|
||||
const response = await drive.files.copy({
|
||||
fileId,
|
||||
auth: authClient,
|
||||
requestBody,
|
||||
supportsAllDrives: context.propsValue.include_team_drives,
|
||||
});
|
||||
|
||||
if (response.status !== 200) {
|
||||
throw new Error('Error duplicating file');
|
||||
}
|
||||
|
||||
return response.data;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,36 @@
|
||||
import { googleDriveAuth } from '../../index';
|
||||
import { Property, createAction } from '@activepieces/pieces-framework';
|
||||
import { google } from 'googleapis';
|
||||
import { OAuth2Client } from 'googleapis-common';
|
||||
import { common } from '../common';
|
||||
|
||||
export const googleDriveGetResourceById = createAction({
|
||||
auth: googleDriveAuth,
|
||||
name: 'get-file-or-folder-by-id',
|
||||
displayName: 'Get File Information',
|
||||
description: 'Get a file folder for files/sub-folders',
|
||||
props: {
|
||||
id: Property.ShortText({
|
||||
displayName: 'File / Folder Id',
|
||||
description: 'The Id of the file/folder to search for.',
|
||||
required: true,
|
||||
}),
|
||||
include_team_drives: common.properties.include_team_drives,
|
||||
},
|
||||
async run(context) {
|
||||
const authClient = new OAuth2Client();
|
||||
authClient.setCredentials(context.auth);
|
||||
const drive = google.drive({ version: 'v3', auth: authClient });
|
||||
const response = await drive.files.get({
|
||||
fileId: context.propsValue.id,
|
||||
supportsAllDrives: context.propsValue.include_team_drives,
|
||||
});
|
||||
|
||||
if (response.data) {
|
||||
return response.data;
|
||||
} else {
|
||||
console.log('The specified ID corresponds to a folder. Returning null.');
|
||||
return null;
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,186 @@
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { googleDriveAuth } from '../../index';
|
||||
import { Property, createAction } from "@activepieces/pieces-framework";
|
||||
import querystring from 'querystring';
|
||||
import { common } from '../common';
|
||||
import { downloadFileFromDrive } from '../common/get-file-content';
|
||||
|
||||
interface ListFilesResult {
|
||||
type: string;
|
||||
incompleteSearch: boolean;
|
||||
files: unknown[];
|
||||
downloadedFiles?: string[];
|
||||
}
|
||||
|
||||
interface FileWithLevel {
|
||||
file: any;
|
||||
level: number;
|
||||
parentFolder?: string;
|
||||
}
|
||||
|
||||
async function getFilesRecursively(
|
||||
auth: any,
|
||||
folderId: string,
|
||||
maxLevel: number,
|
||||
includeTrashed: boolean,
|
||||
includeTeamDrives: boolean,
|
||||
currentLevel = 0
|
||||
): Promise<FileWithLevel[]> {
|
||||
const files: FileWithLevel[] = [];
|
||||
|
||||
if (currentLevel > maxLevel) {
|
||||
return files;
|
||||
}
|
||||
|
||||
let q = `'${folderId}' in parents`;
|
||||
if (!includeTrashed) {
|
||||
q += ' and trashed=false';
|
||||
}
|
||||
|
||||
const params: Record<string, string> = {
|
||||
q: q,
|
||||
fields: 'files(id,kind,mimeType,name,trashed,parents)',
|
||||
supportsAllDrives: 'true',
|
||||
includeItemsFromAllDrives: includeTeamDrives ? 'true' : 'false',
|
||||
};
|
||||
|
||||
let response = await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://www.googleapis.com/drive/v3/files?${querystring.stringify(params)}`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${auth.access_token}`,
|
||||
},
|
||||
});
|
||||
|
||||
// Add files from current level
|
||||
for (const file of response.body.files) {
|
||||
files.push({
|
||||
file,
|
||||
level: currentLevel,
|
||||
parentFolder: folderId
|
||||
});
|
||||
}
|
||||
|
||||
// Handle pagination for current level
|
||||
while (response.body.nextPageToken) {
|
||||
params.pageToken = response.body.nextPageToken;
|
||||
response = await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://www.googleapis.com/drive/v3/files?${querystring.stringify(params)}`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${auth.access_token}`,
|
||||
},
|
||||
});
|
||||
|
||||
for (const file of response.body.files) {
|
||||
files.push({
|
||||
file,
|
||||
level: currentLevel,
|
||||
parentFolder: folderId
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// If we haven't reached max level, recursively get files from subfolders
|
||||
if (currentLevel + 1 < maxLevel) {
|
||||
const subfolders = files.filter(f => f.file.mimeType === 'application/vnd.google-apps.folder');
|
||||
|
||||
for (const subfolder of subfolders) {
|
||||
const subfolderFiles = await getFilesRecursively(
|
||||
auth,
|
||||
subfolder.file.id,
|
||||
maxLevel,
|
||||
includeTrashed,
|
||||
includeTeamDrives,
|
||||
currentLevel + 1
|
||||
);
|
||||
files.push(...subfolderFiles);
|
||||
}
|
||||
}
|
||||
|
||||
return files;
|
||||
}
|
||||
|
||||
export const googleDriveListFiles = createAction({
|
||||
auth: googleDriveAuth,
|
||||
name: 'list-files',
|
||||
displayName: 'List files',
|
||||
description: 'List files from a Google Drive folder',
|
||||
props: {
|
||||
folderId: Property.ShortText({
|
||||
displayName: 'Folder ID',
|
||||
description: 'Folder ID coming from | New Folder -> id | (or any other source)',
|
||||
required: true,
|
||||
}),
|
||||
include_team_drives: common.properties.include_team_drives,
|
||||
|
||||
includeTrashed: Property.Checkbox({
|
||||
displayName: 'Include Trashed',
|
||||
description: 'Include new files that have been trashed.',
|
||||
required: false,
|
||||
defaultValue: false
|
||||
}),
|
||||
|
||||
depthLevel: Property.Number({
|
||||
displayName: 'Depth Level',
|
||||
description: 'How many levels deep to search for files. 1 = current folder only, 2 = current + next level, etc.',
|
||||
required: false,
|
||||
defaultValue: 1
|
||||
}),
|
||||
|
||||
downloadFiles: Property.Checkbox({
|
||||
displayName: 'Download Files',
|
||||
description: 'Download all file contents in a list',
|
||||
required: false,
|
||||
defaultValue: false
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const result: ListFilesResult = {
|
||||
type: 'drive#fileList',
|
||||
incompleteSearch: false,
|
||||
files: [],
|
||||
}
|
||||
|
||||
const depthLevel = context.propsValue.depthLevel || 1;
|
||||
|
||||
// Get files recursively based on depth level
|
||||
const filesWithLevel = await getFilesRecursively(
|
||||
context.auth,
|
||||
context.propsValue.folderId,
|
||||
depthLevel,
|
||||
context.propsValue.includeTrashed ?? false,
|
||||
context.propsValue.include_team_drives ?? false
|
||||
);
|
||||
|
||||
// Extract just the file objects for backward compatibility
|
||||
result.files = filesWithLevel.map(f => f.file);
|
||||
|
||||
// If downloadFiles is enabled, download each file and add URLs to array
|
||||
if (context.propsValue.downloadFiles) {
|
||||
const downloadedFiles: string[] = [];
|
||||
for (const fileWithLevel of filesWithLevel) {
|
||||
const file = fileWithLevel.file;
|
||||
// Skip folders when downloading
|
||||
if (file.mimeType === 'application/vnd.google-apps.folder') {
|
||||
continue;
|
||||
}
|
||||
|
||||
try {
|
||||
const fileUrl = await downloadFileFromDrive(
|
||||
context.auth,
|
||||
context.files,
|
||||
file.id,
|
||||
file.name
|
||||
);
|
||||
downloadedFiles.push(fileUrl);
|
||||
} catch (error) {
|
||||
console.warn(`Failed to download file ${file.name}: ${error instanceof Error ? error.message : 'Download failed'}`);
|
||||
}
|
||||
}
|
||||
result.downloadedFiles = downloadedFiles;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,46 @@
|
||||
import { googleDriveAuth } from '../../';
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { common } from '../common';
|
||||
import { google } from 'googleapis';
|
||||
import { OAuth2Client } from 'googleapis-common';
|
||||
|
||||
export const moveFileAction = createAction({
|
||||
auth: googleDriveAuth,
|
||||
name: 'google-drive-move-file',
|
||||
displayName: 'Move File',
|
||||
description: 'Moves a file from one folder to another.',
|
||||
props: {
|
||||
fileId: Property.ShortText({
|
||||
displayName: 'File ID',
|
||||
description: 'You can use **Search Folder/File** action to retrieve ID.',
|
||||
required: true,
|
||||
}),
|
||||
include_team_drives: common.properties.include_team_drives,
|
||||
folderId: common.properties.parentFolder,
|
||||
},
|
||||
async run(context) {
|
||||
const fileId = context.propsValue.fileId;
|
||||
const folderId = context.propsValue.folderId;
|
||||
|
||||
const authClient = new OAuth2Client();
|
||||
authClient.setCredentials(context.auth);
|
||||
|
||||
const drive = google.drive({ version: 'v3', auth: authClient });
|
||||
|
||||
const file = await drive.files.get({
|
||||
fileId,
|
||||
supportsAllDrives: context.propsValue.include_team_drives,
|
||||
fields: 'id,parents',
|
||||
});
|
||||
|
||||
const response = await drive.files.update({
|
||||
fileId: fileId,
|
||||
fields: '*',
|
||||
removeParents: file.data.parents?.join(','),
|
||||
addParents: folderId,
|
||||
supportsAllDrives: context.propsValue.include_team_drives,
|
||||
});
|
||||
|
||||
return response.data;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,24 @@
|
||||
import { googleDriveAuth } from '../..';
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { downloadFileFromDrive } from '../common/get-file-content';
|
||||
|
||||
export const readFile = createAction({
|
||||
auth: googleDriveAuth,
|
||||
name: 'read-file',
|
||||
displayName: 'Read File Content',
|
||||
description: 'Read a selected file from google drive file',
|
||||
props: {
|
||||
fileId: Property.ShortText({
|
||||
displayName: 'File ID',
|
||||
description: 'File ID coming from | New File -> id |',
|
||||
required: true,
|
||||
}),
|
||||
fileName: Property.ShortText({
|
||||
displayName: 'Destination File name',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
run: async ({ auth, propsValue, files }) => {
|
||||
return downloadFileFromDrive(auth, files, propsValue.fileId, propsValue.fileName)
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,74 @@
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
|
||||
import { googleDriveAuth } from '../../index';
|
||||
import { Property, createAction } from '@activepieces/pieces-framework';
|
||||
import { google } from 'googleapis';
|
||||
import { OAuth2Client } from 'googleapis-common';
|
||||
import { Stream } from 'stream';
|
||||
import { common } from '../common';
|
||||
|
||||
export const saveFileAsPdf = createAction({
|
||||
displayName: 'Save Document as PDF',
|
||||
auth: googleDriveAuth,
|
||||
name: 'save_file_as_pdf',
|
||||
description: 'Save a document as PDF in a Google Drive folder',
|
||||
props: {
|
||||
documentId: Property.ShortText({
|
||||
displayName: 'Document ID',
|
||||
description: 'The ID of the document to export',
|
||||
required: true,
|
||||
}),
|
||||
folderId: Property.ShortText({
|
||||
displayName: 'Folder ID',
|
||||
description: 'The ID of the folder where the file will be exported',
|
||||
required: true,
|
||||
}),
|
||||
name: Property.ShortText({
|
||||
displayName: 'Name',
|
||||
description: 'The name of the new file (do not include the extension)',
|
||||
required: true,
|
||||
}),
|
||||
include_team_drives: common.properties.include_team_drives,
|
||||
},
|
||||
async run(context) {
|
||||
const authClient = new OAuth2Client();
|
||||
authClient.setCredentials(context.auth);
|
||||
|
||||
const documentId = context.propsValue.documentId;
|
||||
const folderId = context.propsValue.folderId;
|
||||
const nameForNewFile = context.propsValue.name;
|
||||
|
||||
const drive = google.drive({ version: 'v3', auth: authClient });
|
||||
|
||||
const result = await drive.files.export(
|
||||
{
|
||||
fileId: documentId,
|
||||
mimeType: 'application/pdf',
|
||||
},
|
||||
{
|
||||
responseType: 'arraybuffer',
|
||||
}
|
||||
);
|
||||
|
||||
const requestBody = {
|
||||
name: nameForNewFile + '.pdf',
|
||||
parents: [folderId],
|
||||
};
|
||||
const templateBuffer = Buffer.from(result.data as any, 'base64');
|
||||
|
||||
const stream = new Stream.PassThrough().end(templateBuffer);
|
||||
|
||||
const media = {
|
||||
mimeType: 'application/pdf',
|
||||
body: stream,
|
||||
};
|
||||
|
||||
const file = await drive.files.create({
|
||||
requestBody,
|
||||
media: media,
|
||||
supportsAllDrives: context.propsValue.include_team_drives,
|
||||
});
|
||||
|
||||
return file.data;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,102 @@
|
||||
import { googleDriveAuth } from '../../index';
|
||||
import { Property, createAction } from '@activepieces/pieces-framework';
|
||||
import { google } from 'googleapis';
|
||||
import { OAuth2Client } from 'googleapis-common';
|
||||
import { common } from '../common';
|
||||
|
||||
export const googleDriveSearchFolder = createAction({
|
||||
auth: googleDriveAuth,
|
||||
name: 'search-folder',
|
||||
displayName: 'Search',
|
||||
description: 'Search a Google Drive folder for files/sub-folders',
|
||||
props: {
|
||||
queryTerm: Property.StaticDropdown({
|
||||
displayName: 'Query Term',
|
||||
description: 'The Query term or field of file/folder to search upon.',
|
||||
defaultValue: 'name',
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'File name', value: 'name' },
|
||||
{ label: 'Full text search', value: 'fullText' },
|
||||
{ label: 'Content type', value: 'mimeType' },
|
||||
],
|
||||
},
|
||||
required: true,
|
||||
}),
|
||||
operator: Property.StaticDropdown({
|
||||
displayName: 'Operator',
|
||||
description: 'The operator to create criteria.',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Contains', value: 'contains' },
|
||||
{ label: 'Equals', value: '=' },
|
||||
],
|
||||
},
|
||||
defaultValue: 'contains',
|
||||
}),
|
||||
query: Property.ShortText({
|
||||
displayName: 'Value',
|
||||
description: 'Value of the field of file/folder to search for.',
|
||||
required: true,
|
||||
}),
|
||||
type: Property.StaticDropdown({
|
||||
displayName: 'File Type',
|
||||
description: '(Optional) Choose between files and folders.',
|
||||
required: false,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'All', value: 'all' },
|
||||
{ label: 'Files', value: 'file' },
|
||||
{ label: 'Folders', value: 'folder' },
|
||||
],
|
||||
},
|
||||
defaultValue: 'all',
|
||||
}),
|
||||
parentFolder: common.properties.parentFolder,
|
||||
include_team_drives: common.properties.include_team_drives,
|
||||
},
|
||||
async run(context) {
|
||||
const authClient = new OAuth2Client();
|
||||
authClient.setCredentials(context.auth);
|
||||
|
||||
const drive = google.drive({ version: 'v3', auth: authClient });
|
||||
const operator = context.propsValue.operator ?? 'contains';
|
||||
const queryTerm = context.propsValue.queryTerm ?? 'name';
|
||||
let finalQuery = `${queryTerm} ${operator} '${context.propsValue.query}'`;
|
||||
if (context.propsValue.parentFolder) {
|
||||
finalQuery = `${finalQuery} and '${context.propsValue.parentFolder}' in parents`;
|
||||
}
|
||||
|
||||
const type = context.propsValue.type ?? 'all';
|
||||
switch (type) {
|
||||
case 'file':
|
||||
finalQuery = `${finalQuery} and mimeType!='application/vnd.google-apps.folder'`;
|
||||
break;
|
||||
case 'folder':
|
||||
finalQuery = `${finalQuery} and mimeType='application/vnd.google-apps.folder'`;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
const response = await drive.files.list({
|
||||
q: finalQuery,
|
||||
fields: 'files(id, name, mimeType, createdTime, modifiedTime)',
|
||||
includeItemsFromAllDrives: context.propsValue.include_team_drives,
|
||||
supportsAllDrives: true,
|
||||
});
|
||||
if (response.status !== 200) {
|
||||
console.error(response);
|
||||
throw new Error('Error searching for the file/folder');
|
||||
}
|
||||
|
||||
const files = response.data.files ?? [];
|
||||
if (files.length > 0) {
|
||||
return files;
|
||||
} else {
|
||||
console.log('Resource not found');
|
||||
return [];
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,36 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { googleDriveAuth } from '../../';
|
||||
import { common } from '../common';
|
||||
import { google } from 'googleapis';
|
||||
import { OAuth2Client } from 'googleapis-common';
|
||||
|
||||
export const googleDriveTrashFile = createAction({
|
||||
auth: googleDriveAuth,
|
||||
name: 'trash_gdrive_file',
|
||||
description: 'Move a file to the trash in your Google Drive',
|
||||
displayName: 'Trash file',
|
||||
props: {
|
||||
fileId: Property.ShortText({
|
||||
displayName: 'File ID',
|
||||
description: 'The ID of the file to trash',
|
||||
required: true,
|
||||
}),
|
||||
include_team_drives: common.properties.include_team_drives,
|
||||
},
|
||||
async run(context) {
|
||||
const authClient = new OAuth2Client();
|
||||
authClient.setCredentials(context.auth);
|
||||
|
||||
const drive = google.drive({ version: 'v3', auth: authClient });
|
||||
const body_value = {
|
||||
trashed: true,
|
||||
};
|
||||
const response = await drive.files.update({
|
||||
fileId: context.propsValue.fileId,
|
||||
supportsAllDrives: context.propsValue.include_team_drives,
|
||||
requestBody: body_value,
|
||||
});
|
||||
|
||||
return response.data;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,47 @@
|
||||
import { Property, createAction } from '@activepieces/pieces-framework';
|
||||
import { googleDriveAuth } from '../../';
|
||||
import { google } from 'googleapis';
|
||||
import { OAuth2Client } from 'googleapis-common';
|
||||
import { downloadFileFromDrive } from '../common/get-file-content';
|
||||
|
||||
export const setPublicAccess = createAction({
|
||||
auth: googleDriveAuth,
|
||||
name: 'set_public_access',
|
||||
description: 'Set public access for a file or folder',
|
||||
displayName: 'Set public access',
|
||||
props: {
|
||||
fileId: Property.ShortText({
|
||||
displayName: 'File or Folder ID',
|
||||
description: 'The ID of the file or folder to update permissions for',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const authClient = new OAuth2Client();
|
||||
authClient.setCredentials(context.auth);
|
||||
|
||||
const fileId = context.propsValue.fileId;
|
||||
|
||||
const drive = google.drive({ version: 'v3', auth: authClient });
|
||||
const permission = {
|
||||
role: 'reader',
|
||||
type: 'anyone',
|
||||
};
|
||||
const res = await drive.permissions.create({
|
||||
fileId: fileId,
|
||||
requestBody: permission,
|
||||
});
|
||||
|
||||
const file = await drive.files.get({
|
||||
fileId: fileId,
|
||||
fields: 'name,webContentLink',
|
||||
});
|
||||
const content = await downloadFileFromDrive(
|
||||
context.auth,
|
||||
context.files,
|
||||
fileId,
|
||||
file.data.name!
|
||||
);
|
||||
return { ...res.data, downloadUrl: content };
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,72 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import {
|
||||
httpClient,
|
||||
HttpMethod,
|
||||
AuthenticationType,
|
||||
} from '@activepieces/pieces-common';
|
||||
import FormData from 'form-data';
|
||||
import { googleDriveAuth } from '../../';
|
||||
import mime from 'mime-types';
|
||||
import { common } from '../common';
|
||||
|
||||
export const googleDriveUploadFile = createAction({
|
||||
auth: googleDriveAuth,
|
||||
name: 'upload_gdrive_file',
|
||||
description: 'Upload a file in your Google Drive',
|
||||
displayName: 'Upload file',
|
||||
props: {
|
||||
fileName: Property.ShortText({
|
||||
displayName: 'File name',
|
||||
description: 'The name of the file',
|
||||
required: true,
|
||||
}),
|
||||
file: Property.File({
|
||||
displayName: 'File',
|
||||
description: 'The file URL or base64 to upload',
|
||||
required: true,
|
||||
}),
|
||||
parentFolder: common.properties.parentFolder,
|
||||
include_team_drives: common.properties.include_team_drives,
|
||||
},
|
||||
async run(context) {
|
||||
const fileData = context.propsValue.file;
|
||||
const mimeType = mime.lookup(fileData.extension ? fileData.extension : '');
|
||||
|
||||
const meta = {
|
||||
mimeType: mimeType,
|
||||
name: context.propsValue.fileName,
|
||||
...(context.propsValue.parentFolder
|
||||
? { parents: [context.propsValue.parentFolder] }
|
||||
: {}),
|
||||
};
|
||||
|
||||
const metaBuffer = Buffer.from(JSON.stringify(meta), 'utf-8');
|
||||
const fileBuffer = Buffer.from(fileData.base64, 'base64');
|
||||
|
||||
const form = new FormData();
|
||||
form.append('Metadata', metaBuffer, { contentType: 'application/json' });
|
||||
form.append('Media', fileBuffer);
|
||||
|
||||
const result = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: `https://www.googleapis.com/upload/drive/v3/files`,
|
||||
queryParams: {
|
||||
uploadType: 'multipart',
|
||||
supportsAllDrives: String(
|
||||
context.propsValue.include_team_drives || false
|
||||
),
|
||||
},
|
||||
body: form,
|
||||
headers: {
|
||||
...form.getHeaders(),
|
||||
},
|
||||
authentication: {
|
||||
type: AuthenticationType.BEARER_TOKEN,
|
||||
token: context.auth.access_token,
|
||||
},
|
||||
});
|
||||
|
||||
console.debug('File upload response', result);
|
||||
return result.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,115 @@
|
||||
import {
|
||||
FilesService,
|
||||
OAuth2PropertyValue,
|
||||
OAuth2Props,
|
||||
Property,
|
||||
ShortTextProperty,
|
||||
StaticPropsValue,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { extension } from 'mime-types';
|
||||
|
||||
async function getMimeType(
|
||||
auth: OAuth2PropertyValue<OAuth2Props>,
|
||||
fileId: string
|
||||
): Promise<string> {
|
||||
const mimeType = (
|
||||
await fetch(
|
||||
`https://www.googleapis.com/drive/v3/files/${fileId}?fields=mimeType&supportsAllDrives=true`,
|
||||
{
|
||||
headers: {
|
||||
Authorization: `Bearer ${auth.access_token}`,
|
||||
},
|
||||
}
|
||||
).then((res) => res.json())
|
||||
)['mimeType'] as string;
|
||||
return mimeType;
|
||||
}
|
||||
|
||||
const googledlCall = async (
|
||||
url: string,
|
||||
auth: OAuth2PropertyValue<OAuth2Props>,
|
||||
fileId: string,
|
||||
files: FilesService,
|
||||
fileName: string | undefined
|
||||
) => {
|
||||
const mimeType = await getMimeType(auth, fileId);
|
||||
|
||||
const download = await fetch(url, {
|
||||
headers: {
|
||||
Authorization: `Bearer ${auth.access_token}`,
|
||||
},
|
||||
})
|
||||
.then((response) =>
|
||||
response.ok ? response.blob() : Promise.reject(response)
|
||||
)
|
||||
.catch((error) =>
|
||||
Promise.reject(
|
||||
new Error(
|
||||
`Error when download file:\n\tDownload file response: ${
|
||||
(error as Error).message ?? error
|
||||
}`
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
const extensionResult = extension(mimeType);
|
||||
const fileExtension = extensionResult ? '.' + extensionResult : '';
|
||||
const srcFileName = fileName ?? fileId + fileExtension;
|
||||
// const name =
|
||||
// (srcFileName
|
||||
// ? srcFileName.replace(new RegExp(fileExtension + '$'), '')
|
||||
// : fileId) + fileExtension;
|
||||
|
||||
return files.write({
|
||||
fileName: srcFileName,
|
||||
data: Buffer.from(await download.arrayBuffer()),
|
||||
});
|
||||
};
|
||||
|
||||
export async function downloadFileFromDrive(
|
||||
auth: OAuth2PropertyValue<OAuth2Props>,
|
||||
files: FilesService,
|
||||
fileId: string,
|
||||
fileName: string | undefined
|
||||
): Promise<string> {
|
||||
let mimeType = await getMimeType(auth, fileId);
|
||||
|
||||
// the google drive API doesn't allowed downloading google documents but we can export them to office formats
|
||||
if (
|
||||
[
|
||||
'application/vnd.google-apps.document',
|
||||
'application/vnd.google-apps.spreadsheet',
|
||||
'application/vnd.google-apps.presentation',
|
||||
].includes(mimeType)
|
||||
) {
|
||||
switch (mimeType) {
|
||||
case 'application/vnd.google-apps.document':
|
||||
mimeType =
|
||||
'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
|
||||
break;
|
||||
case 'application/vnd.google-apps.spreadsheet':
|
||||
mimeType =
|
||||
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
|
||||
break;
|
||||
case 'application/vnd.google-apps.presentation':
|
||||
mimeType =
|
||||
'application/vnd.openxmlformats-officedocument.presentationml.presentation';
|
||||
break;
|
||||
}
|
||||
return await googledlCall(
|
||||
`https://www.googleapis.com/drive/v3/files/${fileId}/export?mimeType=${mimeType}&supportsAllDrives=true`,
|
||||
auth,
|
||||
fileId,
|
||||
files,
|
||||
fileName
|
||||
);
|
||||
} else {
|
||||
return await googledlCall(
|
||||
`https://www.googleapis.com/drive/v3/files/${fileId}?alt=media&supportsAllDrives=true`,
|
||||
auth,
|
||||
fileId,
|
||||
files,
|
||||
fileName
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,155 @@
|
||||
import {
|
||||
httpClient,
|
||||
HttpMethod,
|
||||
AuthenticationType,
|
||||
HttpRequest,
|
||||
} from '@activepieces/pieces-common';
|
||||
import { Property, OAuth2PropertyValue } from '@activepieces/pieces-framework';
|
||||
import dayjs from 'dayjs';
|
||||
import { OAuth2Client } from 'googleapis-common';
|
||||
import { google } from 'googleapis';
|
||||
import { googleDriveAuth } from '../..';
|
||||
|
||||
export const common = {
|
||||
properties: {
|
||||
parentFolder: Property.Dropdown({
|
||||
displayName: 'Parent Folder',
|
||||
required: false,
|
||||
auth: googleDriveAuth,
|
||||
refreshers: ['include_team_drives'],
|
||||
options: async ({ auth, include_team_drives }) => {
|
||||
if (!auth) {
|
||||
return {
|
||||
disabled: true,
|
||||
options: [],
|
||||
placeholder: 'Please authenticate first',
|
||||
};
|
||||
}
|
||||
const authProp: OAuth2PropertyValue = auth as OAuth2PropertyValue;
|
||||
let folders: { id: string; name: string }[] = [];
|
||||
let pageToken = null;
|
||||
do {
|
||||
const request: HttpRequest = {
|
||||
method: HttpMethod.GET,
|
||||
url: `https://www.googleapis.com/drive/v3/files`,
|
||||
queryParams: {
|
||||
q: "mimeType='application/vnd.google-apps.folder' and trashed = false",
|
||||
includeItemsFromAllDrives: include_team_drives ? 'true' : 'false',
|
||||
supportsAllDrives: 'true',
|
||||
},
|
||||
authentication: {
|
||||
type: AuthenticationType.BEARER_TOKEN,
|
||||
token: authProp!['access_token'],
|
||||
},
|
||||
};
|
||||
if (pageToken) {
|
||||
if (request.queryParams !== undefined) {
|
||||
request.queryParams['pageToken'] = pageToken;
|
||||
}
|
||||
}
|
||||
try {
|
||||
const response = await httpClient.sendRequest<{
|
||||
files: { id: string; name: string }[];
|
||||
nextPageToken: string;
|
||||
}>(request);
|
||||
folders = folders.concat(response.body.files);
|
||||
pageToken = response.body.nextPageToken;
|
||||
} catch (e) {
|
||||
throw new Error(`Failed to get folders\nError:${e}`);
|
||||
}
|
||||
} while (pageToken);
|
||||
|
||||
return {
|
||||
disabled: false,
|
||||
options: folders.map((folder: { id: string; name: string }) => {
|
||||
return {
|
||||
label: folder.name,
|
||||
value: folder.id,
|
||||
};
|
||||
}),
|
||||
};
|
||||
},
|
||||
}),
|
||||
include_team_drives: Property.Checkbox({
|
||||
displayName: 'Include Team Drives',
|
||||
description:
|
||||
'Determines if folders from Team Drives should be included in the results.',
|
||||
defaultValue: false,
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
|
||||
async getFiles(
|
||||
auth: OAuth2PropertyValue,
|
||||
search?: {
|
||||
parent?: string;
|
||||
createdTime?: string | number | Date;
|
||||
createdTimeOp?: string;
|
||||
includeTeamDrive?: boolean;
|
||||
},
|
||||
order?: string
|
||||
) {
|
||||
const authClient = new OAuth2Client();
|
||||
authClient.setCredentials(auth);
|
||||
|
||||
const drive = google.drive({ version: 'v3', auth: authClient });
|
||||
|
||||
const q: string[] = [];
|
||||
if (search?.parent) q.push(`'${search.parent}' in parents`);
|
||||
if (search?.createdTime)
|
||||
q.push(
|
||||
`createdTime ${search.createdTimeOp ?? '>'} '${dayjs(
|
||||
search.createdTime
|
||||
).format()}'`
|
||||
);
|
||||
q.push(`trashed = false`);
|
||||
const response = await drive.files.list({
|
||||
q: q.concat("mimeType!='application/vnd.google-apps.folder'").join(' and '),
|
||||
fields: 'files(id, name, mimeType, webViewLink, kind)',
|
||||
orderBy: order ?? 'createdTime desc',
|
||||
supportsAllDrives: true,
|
||||
includeItemsFromAllDrives: search?.includeTeamDrive,
|
||||
});
|
||||
|
||||
return response.data.files;
|
||||
},
|
||||
|
||||
async getFolders(
|
||||
auth: OAuth2PropertyValue,
|
||||
search?: {
|
||||
parent?: string;
|
||||
createdTime?: string | number | Date;
|
||||
createdTimeOp?: string;
|
||||
includeTeamDrive?: boolean;
|
||||
},
|
||||
order?: string
|
||||
) {
|
||||
const q: string[] = [`mimeType='application/vnd.google-apps.folder'`];
|
||||
if (search?.parent) q.push(`'${search.parent}' in parents`);
|
||||
if (search?.createdTime)
|
||||
q.push(
|
||||
`createdTime ${search.createdTimeOp ?? '>'} '${dayjs(
|
||||
search.createdTime
|
||||
).format()}'`
|
||||
);
|
||||
q.push(`trashed = false`);
|
||||
const response = await httpClient.sendRequest<{
|
||||
files: { id: string; name: string }[];
|
||||
}>({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://www.googleapis.com/drive/v3/files`,
|
||||
queryParams: {
|
||||
q: q.join(' and '),
|
||||
orderBy: order ?? 'createdTime desc',
|
||||
supportsAllDrives: 'true',
|
||||
includeItemsFromAllDrives: search?.includeTeamDrive? 'true':'false',
|
||||
},
|
||||
authentication: {
|
||||
type: AuthenticationType.BEARER_TOKEN,
|
||||
token: auth.access_token,
|
||||
},
|
||||
});
|
||||
|
||||
return response.body.files;
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,115 @@
|
||||
import {
|
||||
AppConnectionValueForAuthProperty,
|
||||
PiecePropValueSchema,
|
||||
Property,
|
||||
createTrigger,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
||||
import {
|
||||
DedupeStrategy,
|
||||
Polling,
|
||||
pollingHelper,
|
||||
} from '@activepieces/pieces-common';
|
||||
|
||||
import dayjs from 'dayjs';
|
||||
import { googleDriveAuth } from '../..';
|
||||
import { common } from '../common';
|
||||
import { downloadFileFromDrive } from '../common/get-file-content';
|
||||
|
||||
const polling: Polling<
|
||||
AppConnectionValueForAuthProperty<typeof googleDriveAuth>,
|
||||
{ parentFolder?: any; include_team_drives?: boolean }
|
||||
> = {
|
||||
strategy: DedupeStrategy.TIMEBASED,
|
||||
items: async ({ auth, propsValue, lastFetchEpochMS }) => {
|
||||
const currentValues =
|
||||
(await common.getFiles(auth, {
|
||||
parent: propsValue.parentFolder,
|
||||
createdTime: lastFetchEpochMS,
|
||||
includeTeamDrive: propsValue.include_team_drives,
|
||||
})) ?? [];
|
||||
const items = currentValues.map((item: any) => ({
|
||||
epochMilliSeconds: dayjs(item.createdTime).valueOf(),
|
||||
data: item,
|
||||
}));
|
||||
return items;
|
||||
},
|
||||
};
|
||||
|
||||
export const newFile = createTrigger({
|
||||
auth: googleDriveAuth,
|
||||
name: 'new_file',
|
||||
displayName: 'New File',
|
||||
description: 'Trigger when a new file is uploaded.',
|
||||
props: {
|
||||
parentFolder: common.properties.parentFolder,
|
||||
include_team_drives: common.properties.include_team_drives,
|
||||
include_file_content: Property.Checkbox({
|
||||
displayName: 'Include File Content',
|
||||
description: 'Include the file content in the output. This will increase the time taken to fetch the files and might cause issues with large files.',
|
||||
required: false,
|
||||
defaultValue: false
|
||||
}),
|
||||
},
|
||||
type: TriggerStrategy.POLLING,
|
||||
onEnable: async (context) => {
|
||||
await pollingHelper.onEnable(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
});
|
||||
},
|
||||
onDisable: async (context) => {
|
||||
await pollingHelper.onDisable(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
});
|
||||
},
|
||||
run: async (context) => {
|
||||
const newFiles = await pollingHelper.poll(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
files: context.files,
|
||||
});
|
||||
|
||||
return await handleFileContent(newFiles, context)
|
||||
},
|
||||
test: async (context) => {
|
||||
const newFiles = await pollingHelper.test(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
files: context.files,
|
||||
});
|
||||
|
||||
return await handleFileContent(newFiles, context)
|
||||
},
|
||||
|
||||
sampleData: {
|
||||
kind: 'drive#file',
|
||||
mimeType: 'image/png',
|
||||
id: '1dpv4-sKJfKRwI9qx1vWqQhEGEn3EpbI5',
|
||||
name: 'google-drive.png',
|
||||
link: 'https://cdn.activepieces.com/pieces/google-drive.png'
|
||||
},
|
||||
});
|
||||
|
||||
async function handleFileContent(newFiles: unknown[], context: any) {
|
||||
const newFilesObj = JSON.parse(JSON.stringify(newFiles))
|
||||
|
||||
if (context.propsValue.include_file_content) {
|
||||
const fileContentPromises: Promise<string>[] = []
|
||||
for (const file of newFilesObj) {
|
||||
fileContentPromises.push(downloadFileFromDrive(context.auth, context.files, file["id"], file["name"]));
|
||||
}
|
||||
|
||||
const filesContent = await Promise.all(fileContentPromises)
|
||||
|
||||
for (let i = 0; i < newFilesObj.length; i++) {
|
||||
newFilesObj[i].content = filesContent[i]
|
||||
}
|
||||
}
|
||||
return newFilesObj
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
import {
|
||||
AppConnectionValueForAuthProperty,
|
||||
PiecePropValueSchema,
|
||||
createTrigger,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
||||
import {
|
||||
DedupeStrategy,
|
||||
Polling,
|
||||
pollingHelper,
|
||||
} from '@activepieces/pieces-common';
|
||||
|
||||
import dayjs from 'dayjs';
|
||||
import { googleDriveAuth } from '../..';
|
||||
import { common } from '../common';
|
||||
|
||||
const polling: Polling<
|
||||
AppConnectionValueForAuthProperty<typeof googleDriveAuth>,
|
||||
{ parentFolder?: any,include_team_drives?:boolean }
|
||||
> = {
|
||||
strategy: DedupeStrategy.TIMEBASED,
|
||||
items: async ({ auth, propsValue, lastFetchEpochMS }) => {
|
||||
const currentValues =
|
||||
(await common.getFolders(auth, {
|
||||
parent: propsValue.parentFolder,
|
||||
createdTime: lastFetchEpochMS,
|
||||
includeTeamDrive:propsValue.include_team_drives
|
||||
})) ?? [];
|
||||
const items = currentValues.map((item: any) => ({
|
||||
epochMilliSeconds: dayjs(item.createdTime).valueOf(),
|
||||
data: item,
|
||||
}));
|
||||
return items;
|
||||
},
|
||||
};
|
||||
|
||||
export const newFolder = createTrigger({
|
||||
auth: googleDriveAuth,
|
||||
name: 'new_folder',
|
||||
displayName: 'New Folder',
|
||||
description: 'Trigger when a new folder is created or uploaded.',
|
||||
props: {
|
||||
parentFolder: common.properties.parentFolder,
|
||||
include_team_drives: common.properties.include_team_drives,
|
||||
},
|
||||
type: TriggerStrategy.POLLING,
|
||||
onEnable: async (context) => {
|
||||
await pollingHelper.onEnable(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
});
|
||||
},
|
||||
onDisable: async (context) => {
|
||||
await pollingHelper.onDisable(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
});
|
||||
},
|
||||
run: async (context) => {
|
||||
return await pollingHelper.poll(polling, context);
|
||||
},
|
||||
test: async (context) => {
|
||||
return await pollingHelper.test(polling, context);
|
||||
},
|
||||
|
||||
sampleData: {
|
||||
kind: 'drive#file',
|
||||
mimeType: 'application/vnd.google-apps.folder',
|
||||
id: '1aMEtTqIYn5651wdK7WLxaK_SDim4mvXW',
|
||||
name: 'New Folder WOOOO',
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"extends": "../../../../tsconfig.base.json",
|
||||
"files": [],
|
||||
"include": [],
|
||||
"references": [
|
||||
{
|
||||
"path": "./tsconfig.lib.json"
|
||||
}
|
||||
],
|
||||
"compilerOptions": {
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"noImplicitReturns": true,
|
||||
"noFallthroughCasesInSwitch": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"outDir": "../../../../dist/out-tsc",
|
||||
"declaration": true,
|
||||
"types": ["node"]
|
||||
},
|
||||
"exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"],
|
||||
"include": ["src/**/*.ts"]
|
||||
}
|
||||
Reference in New Issue
Block a user