Français
Drive — déposer un fichier
Dépose les pièces jointes (du mail ou ajoutées par une étape), ou un fichier texte que vous écrivez, dans un dossier Google Drive.
Ce nœud dépose des fichiers dans le Google Drive du membre qui exécute le workflow : les pièces jointes de l’exécution (celles du mail déclencheur et les fichiers ajoutés par des étapes précédentes, comme un document rapatrié d’un autre service), ou un fichier texte dont vous écrivez le contenu (un résumé, une ligne de CSV, du JSON).
Il exige l’accès Google Drive d’un compte Google, affiché comme la capacité Fichiers dans Connexions. Voir Google. Le workflow s’exécute toujours avec le compte du membre qui le fait tourner, jamais avec celui de la personne qui l’a construit.
Pour donner une destination à vos dépôts, créez d’abord le dossier avec Drive — créer un dossier : il rend l’identifiant du dossier à brancher dans « Dossier de destination ». Pour retrouver des fichiers déjà présents, utilisez Drive — chercher des fichiers. Pour OneDrive, utilisez Déposer dans OneDrive ; pour une bibliothèque SharePoint, le nœud SharePoint.
L’accès Google demandé est le plus étroit que Google propose (drive.file) : l’application ne voit que les fichiers et dossiers qu’elle a créés elle-même. Déposer à la racine du Drive fonctionne toujours, mais la liste « Dossier de destination » ne montre que les dossiers créés par l’application, et coller l’identifiant ou l’URL d’un dossier créé à la main dans votre navigateur échoue avec google.not_found. Créez vos dossiers de destination avec Drive — créer un dossier : ils resteront toujours accessibles.
En bref
- Type :
google_drive.upload· version 1 - Catégorie : Actions
- Nature : Étape — s’exécute pendant une exécution
- Effet : Écrit à l’extérieur (
external_write) — écrit hors de Mankomail ; décrit au lieu d’être fait pendant un essai - Exige un mail porteur : Non
- Connexion : Google (capacité
drive) - Entrées :
main - Sorties :
main
Connexion
Ce nœud exige une connexion Google avec la capacité drive accordée.
Paramètres
credential
Compte Google — Le compte qui porte l’accès Google Drive. Il se connecte une fois dans Connexions ; le workflow s’exécute toujours avec le compte du membre qui le fait tourner.
- Type : Connexion (
credential) - Requis : Oui
- Défaut :
""(vide)
source
Ce qu’on dépose
- Type : Un choix (
options) - Requis : Oui
- Défaut :
attachment - Options :
attachment— Les pièces jointes : Celles du mail déclencheur et les fichiers ajoutés par une étape précédente (un acte rapatrié, un PDF signé), filtrés comme partout ailleurs.text— Un fichier texte écrit ici : Un contenu produit par le workflow : un résumé, une ligne de CSV, un JSON.
selection
Pièces jointes retenues
- Type : Un choix (
options) - Requis : Oui
- Défaut :
all - Options :
all— Toutes les pièces jointes : Celles du mail déclencheur, puis les fichiers ajoutés par les étapes précédentes (un acte rapatrié, un PDF signé), dans cet ordre.first— La première seulement : La première PJ, quand on sait qu’il n’y en a qu’une qui compte.byMime— Par type de fichier : Par type MIME :application/pdf, ou toute une famille avecimage/*.byName— Par nom de fichier : Par motif sur le nom :*.pdf,facture-*.
- Affiché quand :
sourcevautattachment
mime
Type de fichier — Type MIME exact (application/pdf) ou famille entière (image/*). Laissé vide, aucune PJ n’est retenue.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 200 caractères au plus
- Exemple :
application/pdf - Affiché quand :
sourcevautattachmentetselectionvautbyMime - Expressions :
{{ }}accepté
namePattern
Nom du fichier — Motif simple : * remplace n’importe quoi, ? un caractère (*.pdf, facture-*). La casse est ignorée.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 200 caractères au plus
- Exemple :
*.pdf - Affiché quand :
sourcevautattachmentetselectionvautbyName - Expressions :
{{ }}accepté
fileName
Nom du fichier — Accepte des expressions {{ }} : resume-{{ email.subject }}.txt.
- Type : Texte (
string) - Requis : Oui
- Défaut :
""(vide) - 200 caractères au plus
- Exemple :
resume.txt - Affiché quand :
sourcevauttext - Expressions :
{{ }}accepté
content
Contenu — Le texte du fichier. Accepte des expressions {{ }}.
- Type : Texte long (
text) - Requis : Non
- Défaut :
""(vide) - 100000 caractères au plus
- Affiché quand :
sourcevauttext - Expressions :
{{ }}accepté
contentMime
Type de fichier
- Type : Un choix (
options) - Requis : Non
- Défaut :
text/plain - Options :
text/plain— text/plaintext/csv— text/csvapplication/json— application/json
- Affiché quand :
sourcevauttext
folder
Dossier de destination — Laissé vide, le fichier va à la racine du Drive. La liste ne montre que les dossiers créés par l’application — c’est la contrepartie du consentement minimal (drive.file).
- Type : Ressource distante (
resourceLocator) - Requis : Non
- Façons de choisir : dans une liste, saisir un identifiant, coller une URL (
drive.folder) - Listé avec la connexion de :
credential
onConflict
Si le nom existe déjà
- Type : Un choix (
options) - Requis : Oui
- Défaut :
rename - Options :
rename— Garder les deux : Drive accepte les homonymes : rien n’est perdu.skip— Ne rien faire : Le classement récurrent : si la facture est déjà là, on passe.replace— Remplacer le contenu : La version de référence : le fichier garde son identifiant et son lien.
Sorties
main
Données produites
Ce que ce nœud ajoute aux données de l’exécution, et comment le lire dans une expression. <step> désigne la clé de l’étape : le nom du nœud ramené à un identifiant (voir Données et expressions).
{{ data.<step>.files }}—array of { id, name, mime, size?, webViewLink?, folderId? }. Les fichiers déposés (ou retrouvés lors d’une nouvelle tentative), dans l’ordre du dépôt.idest l’identifiant du fichier Drive,webViewLinkle lien qui l’ouvre dans Google Drive,folderIdl’identifiant de son dossier parent,sizesa taille en octets quand Google la donne.{{ data.<step>.files.0.webViewLink }}—string. Le lien Drive du premier fichier déposé, prêt à coller dans un mail ou une table. Absent en essai.{{ data.<step>.skipped }}—array of string. Les noms des fichiers non déposés : nom déjà pris avec « Si le nom existe déjà » sur « Ne rien faire », pièce jointe purgée entre-temps, ou pièce jointe de plus de 5 Mo (notéepièce <position>quand son nom est inconnu).{{ data.<step>.simulated }}—boolean.trueen essai : rien n’a été déposé, les identifiants commencent parsimulated-et il n’y a pas dewebViewLink.{{ data.<step>.attachments }}—array of { position, filename, mime, size, origin, addedByNodeId?, integration? }. Avec « Ce qu’on dépose » sur « Les pièces jointes » : la provenance de chaque pièce déposée.originvautemail(le mail déclencheur) ouadded(un fichier ajouté par une étape précédente, dont l’identifiant est dansaddedByNodeId). Vide pour un fichier texte.{{ data.<step>.summary }}—string. Une phrase lisible qui décrit ce que l’étape a fait, telle que l’affiche le détail d’exécution.
Exemple
Des factures fournisseurs arrivent par mail et doivent être classées dans un dossier Drive par fournisseur. Le workflow exécute une étape Drive — créer un dossier nommée Dossier fournisseur (nom {{ email.from.name }}), puis ce nœud, nommé Archiver la facture :
source: attachment
selection: byMime
mime: application/pdf
folder: (mode identifiant) {{ data.dossier_fournisseur.folder.id }}
onConflict: skipPour un mail qui porte facture-0412.pdf, les données de l’étape sont :
json
{
"files": [
{
"id": "1Hc9…",
"name": "facture-0412.pdf",
"mime": "application/pdf",
"size": 48213,
"webViewLink": "https://drive.google.com/file/d/1Hc9…/view",
"folderId": "1TxK9…"
}
],
"skipped": [],
"simulated": false,
"attachments": [
{ "position": 1, "filename": "facture-0412.pdf", "mime": "application/pdf", "size": 48213, "origin": "email" }
]
}Une étape Rédiger suivante peut citer {{ data.archiver_la_facture.files.0.webViewLink }}.
Conseils
- Dossier de destination. Trois modes : choisir dans la liste, saisir un identifiant, ou coller l’URL du dossier depuis votre navigateur (
https://drive.google.com/drive/folders/<id>, y compris la variante/u/0/et un?usp=sharingfinal). Laissé vide, le fichier va à la racine du Drive. Une valeur collée qui n’est ni un identifiant ni une URL Drive reconnue échoue avecgoogle.bad_locator. - Conflits de nom. « Garder les deux » (
rename, le défaut) crée un second fichier du même nom, ce que Drive accepte. « Ne rien faire » (skip) laisse le fichier existant intact et inscrit son nom dansskipped. « Remplacer le contenu » (replace) écrase le fichier existant, qui garde son identifiant et son lien. - Pas de doublon à la nouvelle tentative. Chaque fichier déposé porte une marque invisible liée à l’étape. Quand l’étape est retentée après un incident, le nœud retrouve le fichier déposé par la première tentative et le rend au lieu de le déposer à nouveau, quel que soit le réglage de conflit.
- Combien. Au plus 20 pièces jointes par étape, comme pour OneDrive et SharePoint : au-delà, les 20 premières qui correspondent sont déposées.
- Taille des pièces jointes. Les pièces jointes de plus de 5 Mo sont sautées et listées dans
skipped; les autres sont tout de même déposées. Une pièce jointe purgée du stockage est sautée de la même façon. - Aucune pièce retenue. Si aucune pièce jointe ne correspond à la sélection, l’étape échoue avec
node_nothing_to_doplutôt que d’annoncer un dépôt vide. - Fichiers texte. Avec « Un fichier texte que j’écris », « Nom du fichier » est obligatoire (
node_invalid_params’il se résout à vide) et « Type de fichier » vauttext/plain,text/csvouapplication/json. - Essais. En essai, rien n’est déposé : l’étape rend les noms qu’elle aurait déposés, avec des identifiants qui commencent par
simulated-, sanswebViewLinket avecsimulated: true. Le détail d’exécution liste le dépôt parmi ce qui aurait été fait. - Erreurs.
credential.capability_missing: Google Drive n’est pas connecté pour le membre qui exécute le workflow ; connectez-le dans Connexions.google.insufficient_permissionsougoogle.auth_failed: l’accès a été retiré ou refusé ; reconnectez le compte.google.not_found: le dossier n’existe pas ou l’application ne peut pas le voir.google.unavailable(quota, panne) est retenté automatiquement. Voir Gestion des erreurs.