GTMSessionfetcher谷歌驱动器UPLOAD谷歌驱动器的目标C?
问题描述:
根据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云端硬盘?
答
从尝试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使用操作系统设置
希望这有助于。