如何使用目标c从谷歌驱动器下载文件?

我正在从谷歌驱动器下载文件。 但是,我正在面临使用谷歌SDK的许多问题。 在developer.google.com中有一些例子可用。

GTLServiceDrive *drive = ...; GTLDriveFile *file = ...; GTMHTTPFetcher *fetcher = [drive.fetcherService fetcherWithURLString:file.downloadUrl];` `[fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error) { if (error == nil) { NSLog(@"Retrieved file content"); // Do something with data } else { NSLog(@"An error occurred: %@", error); } }]; 

我已经从developer.google.com网站下载了新的sdks,但是在上面的例子中给出了GTMHTTPFetcher *fetcher = [drive.fetcherService fetcherWithURLString:file.downloadUrl]; 。 但在新的SDK中,在这个GTLDriveFile中没有downloadURL对象。

另一个例子是要求客户端密钥,但是当我selectiOStypes时,没有客户端密钥的选项。 但是当我selectnetworking时,它正在显示。 但它不工作。

请帮助我如何使用目标c从iOS谷歌驱动器下载文件。

这可能会帮助你,你需要在URL中添encryption钥(iOS的API密钥)参数

 GTLDriveFile *myfile;//Your File Object NSString *url = [NSString stringWithFormat:@"https://www.googleapis.com/drive/v3/files/%@?key=YOUR_KEY_iOS", myfile.identifier]; GTMSessionFetcher *fetcher = [self.service.fetcherService fetcherWithURLString:url]; //GTLServiceDrive *service; [fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error) { if (error == nil) { NSLog(@"Retrieved file content"); // File Downloaded! } else { NSLog(@"An error occurred: %@", error); } }]; 

从谷歌文档:

https://developers.google.com/drive/v2/reference/files/get

 + (void)downloadFileContentWithService:(GTLServiceDrive *)service file:(GTLDriveFile *)file completionBlock:(void (^)(NSData *, NSError *))completionBlock { if (file.downloadUrl != nil) { // More information about GTMHTTPFetcher can be found on // <a href="http://code.google.com/p/gtm-http-fetcher">http://code.google.com/p/gtm-http-fetcher</a> GTMHTTPFetcher *fetcher = [service.fetcherService fetcherWithURLString:file.downloadUrl]; [fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error) { if (error == nil) { // Success. completionBlock(data, nil); } else { NSLog(@"An error occurred: %@", error); completionBlock(nil, error); } }]; } else { completionBlock(nil, [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadUrl userInfo:nil]); } } 

这可能是旧的文档,所以看看这个答案:

types'GTLDriveFile'的值没有成员'downloadUrl'