2017-04-16 3 views
1

Nach den veröffentlichten Dokumenten here kann ich mit GTMSessionFetcher herunterladen und hochladen. Und wenig weiter in der Dokumentation bilden den Link ich einen Code für den autorisierten Download-Formular Google Drive haben:GTMSessionfetcher Google Drive UPLOAD auf Google Drive Ziel 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. 
    } 
}]; 

Es funktioniert gut!

Meine Frage ist: Wie kann ich mit GTMSessionFetcher auf Google Drive in iOS hochladen?

Antwort

0

diesen Code aus Google Toolbox for Mac - Session Fetcher Versuchen:

@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; 

Der Github Code besagt, dass GTMSessionFetcher es für Cocoa-Anwendungen einfach macht http Operationen auszuführen. Die Abholer wird als Wrapper implementiert auf NSURLSession, so dass ihr Verhalten ist asynchron und verwendet Betriebssystemeinstellungen auf iOS und Mac OS X.

Hoffnung, das hilft.