5

사실 ios 앱에는 google-drive-sdk가 통합되어 있습니다. iOS 용 google-drive-sdk를 통해 google 드라이브에 지정된 파일을 업로드 할 수 있습니다. 또한 사용자가 Google 드라이브에서 해당 파일을 업로드 할 수있는 폴더에서 폴더를 선택하기위한 기능을 제공하려고합니다.IOS Google 드라이브 SDK를 통한 Google 드라이브의 모든 폴더 목록

Google 드라이브의 모든 파일을 나열하는 방법을 찾았지만 Google 드라이브의 모든 폴더 목록을 찾는 방법을 찾지 못했습니다.

Google 개발자 사이트에서 API reference 전체를 보았지만 해결 방법을 찾지 못했습니다.

나는 아래 코드를 사용하여 폴더 목록을 만들 수 있다는 것을 발견했다. 그러나 그것을 시도했지만 작동하지 않았다.

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 드라이브에서 google-drive-sdk를 사용하여 폴더 목록을 가져 오는 방법이 있습니까?

+0

이에 대한 해결책을 얻을나요 @cultor 이봐. 당신이 얻을 경우 여기에 대답을주십시오. 나는 또한 같은 문제에 직면하고있다. 폴더를 나열해야합니다. – sunil

답변

1

이 코드가 작동한다고 가정하면 쿼리에 문제가있는 것입니다. 복수 쿼리는 으로 결합해야합니다.

query.q = @"mimeType='application/vnd.google-apps.folder' and trashed=false"; 

예제 쿼리에 대한 더 많은 예제는 공식 문서에서 Search for Files을 참조하십시오.

또한이 코드가 작동하지 않는 경우 위에 검색어와 함께 Files.list()을 사용하고 싶습니다. 링크를 확인하면 사용할 수있는 Object-c의 샘플 코드가 있습니다.

+0

안녕하세요, 빠른 답변을 보내 주셔서 감사합니다. "and"(@ "mimeType = 'application/vnd.google-apps.folder'및 trashed = false")를 추가하여 시도했습니다. 그러나 여전히 효과가 없었습니다. 그리고이 링크 https://developers.google.com/drive/v2/reference/files/list에 대해서는 이미 살펴 보았지만 폴더가 아닌 모든 파일을 나열하는 용도로만 사용되었습니다. –

+0

이 기능을 사용할 수 있었습니까? –

1

사용중인 범위는 무엇입니까? 사용하고 있는지 확인하십시오.

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]; 
+1

동의합니다. 앱에서 만든 파일 만 표시하는 기본 범위 인 kGTLAuthScopeDriveFile을 사용 중일 수 있습니다. https://developers.google.com/drive/web/scopes – Ted

0

적절한 범위를 사용한다.

제한된 drive.file 범위는 만든 파일이나 사용자가 열어 본 파일에만 액세스 할 수 있도록 허용합니다.

앱이 모든 사용자의 드라이브 파일을 관리 할 수있는 전체 드라이브 범위입니다.

가능한 경우 제한된 범위를 요청하는 것이 좋습니다. 사용 가능한 모든 범위에 대한 자세한 내용은 Google 드라이브 SDK 설명서를 확인 :

https://developers.google.com/drive/scopes