2012-10-18 106 views
3

我正在嘗試整合Google Drive Api for IOS。當他們上傳或下載他們使用MIME類型文件我測試的示例程序here如何獲取Google Drive API IOS文件列表?

DrEdit比如當他們上傳文件

[GTLUploadParameters uploadParametersWithData:fileContent MIMEType:@"text/plain"]; 

當API下載同一個文件,它使用

GTLQueryDrive *query = [GTLQueryDrive queryForFilesList]; query.q = @"mimeType = 'text/plain'"; 

我可以上傳和下載在Dr.Edit中製作的文件,但是如果我使用網絡界面修改或創建文件或使用mac os的本地驅動器客戶端創建文件。這些文件不會顯示在我的應用程序中。我嘗試了不同的mimeTypes和here的不同搜索參數。但它僅適用於在Dr.Edit中創建的文件。問題是什麼?

是否有其他參數可以幫助我顯示Google Drive中的所有文件。

+1

也許你打錯範圍:https://開頭開發商.google.com/drive/scopes – DavidVdd

+0

是的,你是對的。我改變了(IBAction)authButtonClicked [[GTMOAuth2ViewControllerTouch alloc] initWithScope:從kGTLAuthScopeDriveFile改爲kGTLAuthScopeDrive,效果很好。 GTLDriveConstats.m中有常量//授權範圍 NSString * const kGTLAuthScopeDrive = @「https://www.googleapis.com/auth/drive」; NSString * const kGTLAuthScopeDriveAppsReadonly = @「https://www.googleapis.com/auth/drive.apps.readonly」; NSString * const kGTLAuthScopeDriveFile = @「https://www.googleapis.com/auth/drive.file」; 等。感謝幫助。 – user1755343

回答

6

改變範圍在DrEditFilesListViewController.m

方法authButtonClickedkGTLAuthScopeDrive替換此範圍kGTLAuthScopeDriveFile如下

GTMOAuth2ViewControllerTouch *authViewController = 
    [[GTMOAuth2ViewControllerTouch alloc] initWithScope:**kGTLAuthScopeDriveFile** 
              clientID:kClientId 
             clientSecret:kClientSecret 
            keychainItemName:kKeychainItemName 
              delegate:self 
            finishedSelector:finishedSelector]; 

GTMOAuth2ViewControllerTouch *authViewController = 
    [[GTMOAuth2ViewControllerTouch alloc] initWithScope:**kGTLAuthScopeDrive** 
              clientID:kClientId 
             clientSecret:kClientSecret 
            keychainItemName:kKeychainItemName 
              delegate:self 
            finishedSelector:finishedSelector]; 
+1

請編輯您的答案並對代碼進行格式化以使其可讀。 – kleopatra

+0

容易忽略,謝謝你。 – jarryd

+0

+1 ...爲什麼不是這個被接受的答案? – TheTiger

相關問題