如何使用目标c从谷歌驱动器下载文件? [英] how to download file from google drive using objective c?

查看:142
本文介绍了如何使用目标c从谷歌驱动器下载文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在从谷歌驱动器下载文件。但是我使用google 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);
//用数据
做些事情else else {
NSLog(@An error occurred:%@,error);
}
}];

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

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

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

解决方案

这可能会帮助您,您需要在URL中添加密钥(用于iOS的API密钥)参数

  GTLDriveFile * myfile; //您的文件对象
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 *服务;

[fetcher beginFetchWithCompletionHandler:^(NSData * data,NSError * error){
if(error == nil){
NSLog(@Retrieved file content);
//文件已下载!
} else {
NSLog(@发生错误:%@,错误);
}
}];


I am working with download files from google drive. But I am facing lots of issues using google SDK. In developer.google.com there is some examples are available.

 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);    
      }
    }];

I have downloaded new sdks from developer.google.com site, but in above example given GTMHTTPFetcher *fetcher = [drive.fetcherService fetcherWithURLString:file.downloadUrl];. But in new SDK,in this GTLDriveFile there is no downloadURL object.

And in another example it is asking for client secret key, but when I am selecting type of iOS then there is no option for client secret key. But when I am choosing web that time it is showing. but it is not working.

Please help me how to download file from google drive in iOS using objective c.

解决方案

This may Help you you need to add key (API keys for iOS) param in URL

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);
        }
    }];

这篇关于如何使用目标c从谷歌驱动器下载文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆