2013-04-01 6 views
10

Przy zapytaniuJak przesłać zapytanie do Dysku Google o identyfikator folderu o znanej nazwie w folderze głównym (Pakiet SDK do Dysku Google na iPhone'a)?

GTLQueryDrive *queryFilesList = [GTLQueryDrive queryForChildrenListWithFolderId:@"root"];

mam wszystko w folderze głównym: Pliki i foldery. Oczywiście, mogę poszukać folderu zwróconego w GTLDriveChildList. Ale folder główny może zawierać tysiące elementów i potrzebuję tylko jednego z nich. Próbowałem zawęzić wyszukiwanie. Komentarze w GTLQueryDrive.h mówią, że to możliwe. Próbowałem

queryFilesList.q = @"mimeType='application/vnd.google-apps.folder'";

kwerendy tylko foldery lub

queryFilesList.q = [NSString stringWithFormat:@"title='%@'", folderName];

kwerendy wszystkie elementy według nazwy. Oba zapytania zwracają puste listy. Podwójne zaznaczenie: folder, którego szukam naprawdę istnieje.

Próbowałem

GTLQueryDrive *queryFilesList = [GTLQueryDrive queryForFilesList]; 

Działa dobrze z

queryFilesList.q = @"mimeType='audio/x-aiff'"; 

Ale zwraca pustą listę, gdy próbuję kwerendy tylko foldery z

queryFilesList.q = @"mimeType='application/vnd.google-apps.folder'"; 

Co robię źle?

Odpowiedz

7

Jestem samolubnym idiotą!

GTLQueryDrive *queryFilesList = [GTLQueryDrive queryForChildrenListWithFolderId:@"root"]; 
queryFilesList.q = @"mimeType='application/vnd.google-apps.folder'"; 

działa dobrze, ale widzi TYLKO foldery utworzone za pomocą tej aplikacji! To był mój problem. Aby być dokładne można użyć tej kwerendy:

queryFilesList.q = @"mimeType='application/vnd.google-apps.folder' and 'root' in parents and trashed=false"; 

trashed=false jest ważne, jeśli nie chcesz umieszczone w koszu elementów można znaleźć.

+0

jak to zrobić, aby pokazać wszystkie pliki, a nie tylko te utworzone przez bieżącą aplikację? – pstoppani

+2

Ah, aplikacja musi używać kGTLAuthScopeDrive zamiast kGTLAuthScopeDriveFile. – pstoppani

+0

@pstoppani, gdzie regulujesz tę stałą? Nie używam żadnego z nich w trakcie mojej autoryzacji. czy możesz dodać do swojej odpowiedzi coś, co wydaje się bardzo ważnym szczegółem? – tarabyte