IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

Lister et Filtrer les fichiers G-Drive à partir de variables stockés dans un G-Sheet et d'un G-script


Sujet :

APIs Google

  1. #1
    Candidat au Club
    Homme Profil pro
    Curieux
    Inscrit en
    Octobre 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2019
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Lister et Filtrer les fichiers G-Drive à partir de variables stockés dans un G-Sheet et d'un G-script
    Hello,

    J'ai un problème qui doit être super simple à résoudre car je ne trouve pas de solution sur le Web.
    J'espère que quelqu'un pourra m'aider.

    Je fais une fonction qui liste les fichiers Google drive selon des références présents dans la feuille de calcul lié au script.

    C'est peut-être une question de "" ou de '' ... J'ai lu un forum ou il était expliqué qu'il fallait ajouter des + aussi.
    J'ai l'impression d'avoir tout essayé (' à la place des ", sans les +, qu'avec des ' ou des ")

    Peut-etre un problème de conversion de la valeur des cellules ?

    Je vous remercie.
    Le problème se situe ligne [12]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    function Lister_fichiers(){
    // Log the name of every file in the user's Drive that modified after date = A1,  whose name contains "MARQUE = B1".
     
    var app = SpreadsheetApp;
    var classeur = app.getActiveSpreadsheet();
    const Formsheet = classeur.getSheetByName('Var');
    const CsvM = classeur.getSheetByName('CsvM');
    const Date = Formsheet.getRange('A1').getValues();
    const Marque = Formsheet.getRange('B1').getValues();
    const Pays = Formsheet.getRange('C1').getValues();
     
    var sffiles = DriveApp.searchFiles("modifiedDate > '"+Date+"' and title contains '"+Marque+"' "); 
     
    // Cette ligne ci-dessus ne fonctionne pas 
    // Alors que celle ci-dessous fonctionne
     
    // var sffiles = DriveApp.searchFiles('modifiedDate > "2019-01-01" and title contains "Chantelle" and mimeType = "application/vnd.google-apps.spreadsheet" and trashed=false');
     
     
      while (sffiles.hasNext()){
        var sffile = sffiles.next();
        var sfname =  sffile.getName();
        var sfdate =  sffile.getLastUpdated(); 
        var sfsize =  sffile.getSize();
        var sfurl =  sffile.getUrl();
        var fileParents = sffile.getParents();
          while (fileParents.hasNext()) {
            var sffolder = fileParents.next();
             Logger.log(sffolder.getName());
          }
        var sfid =  sffile.getId();
     
      Logger.log(sffile.getId());
      Logger.log(sffile.getName());
     
      var sflist = [sfname,sfdate,sfsize,sfurl,sfid,sffolder];
      CsvM.appendRow(sflist);
      }
    CsvM.appendRow(["A-Name", "Date", "Size", "URL", "ID", "Dossier Parent"]);
        CsvM.sort(1);
    }

  2. #2
    Candidat au Club
    Homme Profil pro
    Curieux
    Inscrit en
    Octobre 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2019
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    var sffiles = DriveApp.searchFiles("modifiedDate > '"+Date+"' and title contains '"+Marque+"' ");
    Sur Google script, Marque (entre les +) est bien noté en bleu (contrairement à ici).

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 955
    Points : 44 103
    Points
    44 103
    Par défaut
    Bonjour,
    Citation Envoyé par Brarbri
    Sur Google script, Marque (entre les +) est bien noté en bleu (contrairement à ici).
    en Javascript Date est un objet Objets natif et il est donc préférable de ne pas utiliser ce mot dans son code, et c'est également pour cette raison que la coloration syntaxique le met en bleu.

    Il te faut à minima vérifier le format de ta variable Date.

  4. #4
    Candidat au Club
    Homme Profil pro
    Curieux
    Inscrit en
    Octobre 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2019
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Merci mais pas encore résolu
    Merci beaucoup !

    Effectivement, nommer une variable "Date" posait un problème de plus.

    Je vais devoir revoir la documentation pour getRange().getValues()
    Car,
    - Le code renvoie encore une erreur après avoir modifié "Date" par "DateX"

    - Le code ne renvoie plus d'erreur lorsque je filtre que sur '"+Marque+"' mais il ne me retourne pas le fichier.

    Je vous tiens informé, merci.

  5. #5
    Candidat au Club
    Homme Profil pro
    Curieux
    Inscrit en
    Octobre 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2019
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Format "Date" fonction getvalue
    Re,

    Je viens de tester d'ajouter le format dans la déclaration de la variable date.

    J'en ai testé plusieurs sans succès,
    J'ai remplacé getValues() par getValue() (sans le s).

    A savoir que la date est notée "2019-01-01" dans mon classeur (feuille "Var", cellule "A1").

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var Date2 = Formsheet.getRange('A1').getValue('Date');
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var Date2 = Date(Formsheet.getRange('A1').getValue());
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var Date1 = Formsheet.getRange('A1').getValue();
    var Date2 = new Date(Date1);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var Date1 = Formsheet.getRange('A1').getValue();
    var Date2 = new Date(Date.UTC(Date1));
    Je dois être à coté de la plaque.
    Merci pour votre aide.

Discussions similaires

  1. filtrer les fichier dans un input file
    Par bailamos dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/12/2009, 08h40
  2. filtrer les fichiers ouverts et les vues
    Par nezdeboeuf62 dans le forum Eclipse Java
    Réponses: 9
    Dernier message: 25/03/2008, 11h07
  3. filtrer les fichiers d'un répertoire en java
    Par leondebruxelles dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 21/03/2008, 15h19
  4. [JFileChooser] filtrer les fichiers
    Par maxlegrand dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 25/06/2007, 09h36
  5. Filtrer les fichiers
    Par shikakus dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 25/02/2007, 17h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo