Skip to content

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 avec image/*.
    • byName — Par nom de fichier : Par motif sur le nom : *.pdf, facture-*.
  • Affiché quand : source vaut attachment

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 : source vaut attachment et selection vaut byMime
  • 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 : source vaut attachment et selection vaut byName
  • 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 : source vaut text
  • 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 : source vaut text
  • Expressions : {{ }} accepté

contentMime ​

Type de fichier

  • Type : Un choix (options)
  • Requis : Non
  • Défaut : text/plain
  • Options :
    • text/plain — text/plain
    • text/csv — text/csv
    • application/json — application/json
  • Affiché quand : source vaut text

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. id est l’identifiant du fichier Drive, webViewLink le lien qui l’ouvre dans Google Drive, folderId l’identifiant de son dossier parent, size sa 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ée pièce <position> quand son nom est inconnu).
  • {{ data.<step>.simulated }} — boolean. true en essai : rien n’a été déposé, les identifiants commencent par simulated- et il n’y a pas de webViewLink.
  • {{ 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. origin vaut email (le mail déclencheur) ou added (un fichier ajouté par une étape précédente, dont l’identifiant est dans addedByNodeId). 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: skip

Pour 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=sharing final). 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 avec google.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 dans skipped. « 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_do plutô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_param s’il se résout à vide) et « Type de fichier » vaut text/plain, text/csv ou application/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-, sans webViewLink et avec simulated: 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_permissions ou google.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.