Query pour la liste des fichiers et des dossiers dans le répertoire racine
-
13-12-2019 - |
Question
J'aimerais obtenir une liste de fichiers et de dossiers dans le répertoire racine sans avoir à trier tous les fichiers.Y a-t-il une requête qui ferait cela?
La solution
Le dossier racine peut également être adressé avec un alias spécial nommé "racine", de sorte que vous puissiez obtenir tous les fichiers et tous les dossiers de la racine avec la requête suivante:
https://www.googleapis.com/drive/v2/files?q='root' in parents
N'oubliez pas d'échapper à l'URL si elle n'utilise pas l'une des bibliothèques clientes (elles s'en occuper automatiquement).
Pour plus de détails sur la langue de la recherche, cochez https://developers.google.com/drive/search-paramètres
Autres conseils
Ce code affiche tous les fichiers et tous les dossiers de votre répertoire racine .Il suffit de copier et collez ce code et vous obtiendrez tout le fichier et le dossier de votre racine.
List<File> result = new ArrayList<File>();
Files.List request = null;
try {
request = mService.files().list();
FileList files = request.setQ("'root' in parents and trashed=false").execute();
result.addAll(files.getItems());
request.setPageToken(files.getNextPageToken());
}
catch (IOException e)
{
System.out.println("An error occurred: " + e);
request.setPageToken(null);
}
//Print out all the files and folder of root Directory
for(File f:result)
{
System.out.println("recvd data are: "+f.getTitle());
}
exécutez cette méthode ci-dessous dans le fil d'arrière-plan (Android).
Remarque: autorisation de portée requise "Drivescopes.Drive"
protected String[] getListChildren(String parentId) throws Exception {
String[] children = null;
parentId = parentId == null ? "root" : parentId;
String fileQuery = "'" + parentId + "' in parents and trashed=false";
FileList files = driveService.files().list().setQ(fileQuery).execute();
List<String> fileNames = new ArrayList<String>();
for (File file : files.getFiles()) {
fileNames.add(file.getName());
}
children = fileNames.toArray(new String[0]);
return children;
}