2017-04-16 210 views
1

根据here发布的文档,我可以用GTMSessionFetcher下载和上传。 而点点文档进一步形成链接我有一个代码授权下载表格谷歌驱动器:GTMSessionfetcher谷歌驱动器UPLOAD谷歌驱动器的目标C?

GTLRQuery *query = [GTLRDriveQuery_FilesGet queryForMediaWithFileId:fileID]; 
NSURLRequest *downloadRequest = [service requestForQuery:query]; 
GTMSessionFetcher *fetcher = 
    [service.fetcherService fetcherWithRequest:downloadRequest]; 

[fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *fetchError) { 
    if (fetchError == nil) { 
    // Download succeeded. 
    } 
}]; 

它工作正常!

我的问题是:如何使用GTMSessionFetcher上传到iOS版的Google云端硬盘?

回答

0

从尝试Google Toolbox for Mac - Session Fetcher这个代码:

@interface GTMSessionUploadFetcher : GTMSessionFetcher 

// Create an upload fetcher specifying either the request or the resume location URL, 
// then set an upload data source using one of these: 
// 
// setUploadFileURL: 
// setUploadDataLength:provider: 
// setUploadFileHandle: 
// setUploadData: 

+ (instancetype)uploadFetcherWithRequest:(NSURLRequest *)request 
          uploadMIMEType:(NSString *)uploadMIMEType 
           chunkSize:(int64_t)chunkSize 
          fetcherService:(GTM_NULLABLE GTMSessionFetcherService *)fetcherServiceOrNil; 

+ (instancetype)uploadFetcherWithLocation:(NSURL * GTM_NULLABLE_TYPE)uploadLocationURL 
          uploadMIMEType:(NSString *)uploadMIMEType 
           chunkSize:(int64_t)chunkSize 
          fetcherService:(GTM_NULLABLE GTMSessionFetcherService *)fetcherServiceOrNil; 

- (void)setUploadDataLength:(int64_t)fullLength 
        provider:(GTM_NULLABLE GTMSessionUploadFetcherDataProvider)block; 

GitHub的代码指出GTMSessionFetcher很容易可可应用程序执行HTTP操作。取出器实现为一个包装上NSURLSession,所以其行为是异步的,在iOS和Mac OS X使用操作系统设置

希望这有助于。