En utilisant la méthode suivante, je suis capable d'obtenir les sous-dossiers, mais ce code récupère tous les dossiers à partir de la racine. Par exemple, s'il y a un dossier dans la corbeille, il le récupère ainsi que les dossiers dans Mon lecteur.
Si le dossier n'est pas présent sur le disque dur, je dois d'abord en créer un, puis insérer les fichiers. Mon problème est que, lorsque je vérifie le nom du dossier, comme le dossier existe dans la corbeille mais pas dans My Drive, j'obtiens la réponse que le dossier existe.
Voici ma méthode pour récupérer les dossiers.
Si quelqu'un a une idée, faites-le moi savoir.
-(void)getFileListFromSpecifiedParentFolder {
GTLQueryDrive *query2 = [GTLQueryDrive queryForFilesList];
// GTLQueryDrive *query2 = [GTLQueryDrive queryForChildrenListWithFolderId:@"My Drive"];
query2.q = @"";
//or i also use this code
query2.q = @"mimeType = 'application/vnd.google-apps.folder'";
// queryTicket can be used to track the status of the request.
[self.driveService executeQuery:query2
completionHandler:^(GTLServiceTicket *ticket,
GTLDriveChildList *children, NSError *error) {
NSLog(@"\nGoogle Drive: file count in the folder: %d", children.items.count);
//incase there is no files under this folder then we can avoid the fetching process
if (!children.items.count) {
return ;
}
if (error == nil) {
for (GTLDriveChildReference *child in children) {
GTLQuery *query = [GTLQueryDrive queryForFilesGetWithFileId:child.identifier];
// queryTicket can be used to track the status of the request.
[self.driveService executeQuery:query
completionHandler:^(GTLServiceTicket *ticket,
GTLDriveFile *file,
NSError *error) {
NSLog(@"\nfile name = %@ \n file kind %@ \n file identifier %@", file.title,file.kind,file.identifier);
}];
}
}
else
[self createFolderForGoogleDriveWithName:@"Music"];
}];
}