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:
poduck
2025-12-18 22:59:37 -05:00
parent 9848268d34
commit 3aa7199503
16292 changed files with 1284892 additions and 4708 deletions

View File

@@ -0,0 +1,3 @@
{
"presets": [["@nx/js/babel", { "useBuiltIns": "usage" }]]
}

View File

@@ -0,0 +1,18 @@
{
"extends": ["../../../../.eslintrc.json"],
"ignorePatterns": ["!**/*"],
"overrides": [
{
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
"rules": {}
},
{
"files": ["*.ts", "*.tsx"],
"rules": {}
},
{
"files": ["*.js", "*.jsx"],
"rules": {}
}
]
}

View File

@@ -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/).

View File

@@ -0,0 +1,7 @@
{
"name": "@activepieces/piece-google-drive",
"version": "0.5.53",
"dependencies": {
"googleapis": "129.0.0"
}
}

View File

@@ -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": []
}

View File

@@ -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."
}

View File

@@ -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."
}

View File

@@ -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."
}

View File

@@ -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."
}

View File

@@ -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."
}

View File

@@ -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."
}

View File

@@ -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.": "出力にファイルの内容を含めます。これによりファイルの取得にかかる時間が長くなり、大きなファイルに問題が生じる可能性があります。"
}

View File

@@ -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."
}

View File

@@ -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."
}

View File

@@ -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.": "Включить содержимое файла в выходной файл. Это увеличит время, необходимое для получения файлов и может вызвать проблемы с большими файлами."
}

View File

@@ -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."
}

View File

@@ -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."
}

View File

@@ -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."
}

View File

@@ -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,
});

View File

@@ -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;
}
});

View File

@@ -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;
},
});

View File

@@ -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;
},
});

View File

@@ -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;
},
});

View File

@@ -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'};
}
});

View File

@@ -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;
},
});

View File

@@ -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;
}
},
});

View File

@@ -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;
}
});

View File

@@ -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;
},
});

View File

@@ -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)
},
});

View File

@@ -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;
},
});

View File

@@ -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 [];
}
},
});

View File

@@ -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;
},
});

View File

@@ -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 };
},
});

View File

@@ -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;
},
});

View File

@@ -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
);
}
}

View File

@@ -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;
},
};

View File

@@ -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
}

View File

@@ -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',
},
});

View File

@@ -0,0 +1,16 @@
{
"extends": "../../../../tsconfig.base.json",
"files": [],
"include": [],
"references": [
{
"path": "./tsconfig.lib.json"
}
],
"compilerOptions": {
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
}
}

View File

@@ -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"]
}