IOS:如何使用Google驱动器sdk库将file upload到特定的Google驱动器文件夹

我将Google驱动器SDK与我的iOS应用程序集成在一起。 但我不知道如何上传文件到Google驱动器的特定文件夹。

这里是用来上传文件的代码。 但是这个file upload到我的谷歌驱动器根文件夹。 任何一个共享代码上传文件到谷歌驱动器的特定文件夹?

我的代码:

-(void)uploadFileToGoogleDrive:(NSString*)fileName { GTLDriveFile *driveFile = [[[GTLDriveFile alloc]init] autorelease]; driveFile.mimeType = @"application/pdf"; driveFile.originalFilename = @"test.doc"; driveFile.title = @"test.doc"; NSString *filePath = [LocalFilesDetails getUserDocumentFullPathForFileName:fileName isSignedDocument:YES]; GTLUploadParameters *uploadParameters = [GTLUploadParameters uploadParametersWithData:[NSData dataWithContentsOfFile:filePath] MIMEType:@"application/pdf"]; GTLQueryDrive *query = [GTLQueryDrive queryForFilesInsertWithObject:driveFile uploadParameters:uploadParameters]; [self.driveService executeQuery:query completionHandler:^(GTLServiceTicket *ticket, GTLDriveFile *updatedFile, NSError *error) { if (error == nil) { NSLog(@"\n\nfile uploaded into google drive\\<my_folder> foler"); } else { NSLog(@"\n\nfile uplod failed google drive\\<my_folder> foler"); } }]; } 

您需要设置driveFile引用的parents属性。

 GTLDriveParentReference *parentRef = [GTLDriveParentReference object]; parentRef.identifier = folderIdentifier; // identifier property of the folder driveFile.parents = @[ parentRef ]; 

我不知道的iOS,所以可能是基地,但从https://developers.google.com/drive/v2/reference/files/insert帮&#x52A9;

 + (void)insertFileWithService:(GTLServiceDrive *)service title:(NSString *)title description:(NSString *)description parentId:(NSString *)parentId mimeType:(NSString *)mimeType data:(NSData *)data completionBlock:(void (^)(GTLDriveFile *, NSError *))completionBlock { GTLDriveFile *file = [GTLDriveFile object]; file.title = title; file.descriptionProperty = description; file.mimeType = mimeType; GTLUploadParameters *uploadParameters = [GTLUploadParameters uploadParametersWithData:data MIMEType:mimeType]; GTLQueryDrive *query = [GTLQueryDrive queryForFilesInsertWithObject:file uploadParameters:uploadParameters]; 

GTLServiceTicket * _editFileListTicket;

  GTLServiceDrive *service = self.driveService; GTLDriveFile *folderObj = [GTLDriveFile object]; folderObj.title = [NSString stringWithFormat:@"%@", title]; folderObj.mimeType = @"application/vnd.google-apps.folder"; GTLQueryDrive *query = [GTLQueryDrive queryForFilesInsertWithObject:folderObj uploadParameters:nil]; _editFileListTicket = [service executeQuery:query completionHandler:^(GTLServiceTicket *ticket, GTLDriveFile *folderItem, NSError *error) { if (error == nil) { UIAlertView *alert=[[UIAlertView alloc] initWithTitle:nil message:@"Created" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; } else { NSLog(@"error"); } }];