IOS:如何使用Google驱动器sdk库将文件上传到特定的Google云端硬盘文件夹

log*_*han 7 ios google-drive-api

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

这里的代码用于上传文件.但是这个上传文件到我的谷歌驱动器根文件夹.任何人共享代码将文件上传到谷歌驱动器特定文件夹?

我的代码:

-(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");            
    }
}];
}
Run Code Online (Sandbox Code Playgroud)

rma*_*ddy 10

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

GTLDriveParentReference *parentRef = [GTLDriveParentReference object];
parentRef.identifier = folderIdentifier; // identifier property of the folder
driveFile.parents = @[ parentRef ];
Run Code Online (Sandbox Code Playgroud)

  • @rmaddy,我在哪里可以读到这个?谷歌关于Google Drive API的文档并未就诸如"如果我知道文件夹名称如何在特定文件夹中保存文件"等简单问题提供简单直接的答案. (2认同)