Вывод списка всех папок Google Drive через IOS Google Drive SDK
На самом деле я интегрировал Google-Drive-SDK с моим приложением IOS. Я могу загружать указанный файл на Google Drive через Google-Drive-SDK для iOS. Кроме того, я хочу предоставить функциональность для выбора папки из доступной папки, в которую пользователь хочет загрузить этот файл на Google Drive.
Итак, я нашел, как вывести список всех файлов на Google Диске, но не смог найти, как вывести список всех папок на Google Диске.
Я также просмотрел всю ссылку на API на сайте Google Developer, но не нашел решения по этому поводу.
Я где-то обнаружил, что с помощью приведенного ниже списка папок с кодом можно сделать это, но он не сработал.
GTLQueryDrive *query = [GTLQueryDrive queryForFilesList];
query.q = @"mimeType='application/vnd.google-apps.folder' and trashed=false";
[self.driveService executeQuery:query completionHandler:^(GTLServiceTicket *ticket,
GTLDriveFileList *files,
NSError *error) {
if (error == nil) {
NSLog(@"Array of folder: %@", files.items);
} else {
NSLog(@"An error occurred: %@", error);
}
}];
Так есть ли какое-нибудь решение для получения списка папок с Google Drive с помощью google-drive-sdk?
3 ответа
Предполагая, что этот код работает, в запросе есть проблема. Несколько запросов должны быть объединены и.
query.q = @"mimeType='application/vnd.google-apps.folder' and trashed=false";
Дополнительные примеры примеров запросов приведены в разделе " Поиск файлов" в официальной документации.
Кроме того, в случае, если этот код не работает, вы хотите использовать Files.list() с запросом выше. Проверьте ссылку и приведите пример кода для Object-c, который вы можете использовать.
Какие области вы используете? убедитесь, что вы используете
kGTLAuthScopeDrive = @ " https://www.googleapis.com/auth/drive";
пример:
NSString *scope = kGTLAuthScopeDrive;
GTMOAuth2ViewControllerTouch *authViewController =
[[GTMOAuth2ViewControllerTouch alloc] initWithScope:scope
clientID:kClientId
clientSecret:kClientSecret
keychainItemName:kKeychainItemName
delegate:self
finishedSelector:finishedSelector];
[self presentViewController:authViewController animated:YES completion:nil];
Используйте правильную область.
ограниченная область действия drive.file, которая позволяет ему только получать доступ к файлам, которые он создал или которые пользователь открыл с ним.
полный объем диска, который позволяет приложению управлять всеми файлами диска пользователя.
Настоятельно рекомендуется запросить ограниченную область, когда это возможно. Подробнее о всех доступных областях читайте в документации по Google Drive SDK: