2016-08-01 130 views
1

我开发一个应用程序在iOS版8,我已通过安装下面的吊舱集成谷歌驱动器:在iOS版谷歌驱动器集成到上传PDF文件

pod platform :ios, '8.0' 

pod 'GoogleAPIClient/Drive', '~> 1.0.0' 
pod 'GTMOAuth2', '~> 1.1.0' 

当我把代码上传PDF文件,我正在以下错误:

  1. 属性“标题”不是类型“GTLDriveFile *”
  2. 使用未声明的标识符“GTLDriveParentReference”的对象中找到。
  3. 没有已知的选择器'queryForFilesInsertWithObject:uploadParameters:'的类方法。

这是我的代码:

GTLDriveFile *driveFile = [GTLDriveFile object]; 

driveFile.mimeType = @"application/pdf"; 
driveFile.originalFilename = @"database.pdf"; 
driveFile.name = @"database.pdf"; 
driveFile.size = fileSizeNumber; 
NSString *parentId = @"root"; 
driveFile.parents = @[parentId]; 

NSData *fileContent = [[NSData alloc] initWithContentsOfFile:fileName]; 
GTLUploadParameters *uploadParameters = [GTLUploadParameters uploadParametersWithData:fileContent MIMEType:@"application/pdf"]; 


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

GTLQueryDrive *query = [GTLQueryDrive queryForFilesInsertWithObject:driveFile uploadParameters:uploadParameters]; 

[self.service 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");    
        } 
       }]; 

回答

1
  1. 使用driveFile.name而不是driveFile.title

  2. 有没有GTLDriveParentReference类,所以删除这些行。

  3. 使用queryForFilesCreateWithObject代替queryForFilesInsertWithObject

+0

谢谢你解决第一个错误。可以请你让我知道关于其他两个 –

+0

2.没有GTLDriveParentReference类,所以删除这些行。 –

+0

3.使用'queryForFilesCreateWithObject'而不是'queryForFilesInsertWithObject' –

0

我创造完美的方式上传PDF文件对谷歌推动的iOS

-(void)sharePDFFileOnGoogleDrive{ 
GTLServiceDrive *driveService; 
driveService = [[GTLServiceDrive alloc] init]; 
driveService.authorizer = self.authToken; 
GTLDriveFile *metadata = [GTLDriveFile object]; 
metadata.originalFilename = @"pdf-sample.pdf"; 
metadata.title = @"PDF file Name"; 
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"pdf-sample" ofType:@"pdf"]; 
NSString *mimeType = @"application/pdf"; 
NSFileHandle *file = [NSFileHandle fileHandleForReadingAtPath:filePath]; 
GTLUploadParameters *uploadParameters = [GTLUploadParameters uploadParametersWithFileHandle:file 
                        MIMEType:mimeType]; 
GTLQueryDrive *query = [GTLQueryDrive queryForFilesInsertWithObject:metadata 
                uploadParameters:uploadParameters]; 
[driveService executeQuery:query completionHandler:^(GTLServiceTicket *ticket, 
                GTLDriveFile *updatedFile, 
                NSError *error) { 
    if (error == nil) { 
     NSLog(@"File %@", updatedFile); 
    } else { 
     NSLog(@"An error occurred: %@", error); 
    } 
    }]; 
} 
相关问题