0

我正在尝试使用为 iOS 提供的 SDK 从 Google Drive 下载文件。但它给了我这个错误:

错误域 = com.google.HTTPStatus 代码 = 400 “(空)”

下面是下载代码:

GTLDriveFile *file = [driveFiles objectAtIndex:indexPath.row];
NSString *url = [NSString stringWithFormat:@"https://www.googleapis.com/drive/v3/files/%@?alt=media",
                 file.identifier];
GTMSessionFetcher *fetcher = [self.service.fetcherService fetcherWithURLString:url];

[fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error) {
    if (error == nil) {
        NSLog(@"Retrieved file content");
        // Do something with data
    } else {
        NSLog(@"An error occurred: %@", error);
    }
}];

但是,我能够列出所有文件,并且我还仔细检查了捆绑标识符。

任何建议我错过了什么?

4

2 回答 2

1

在 URL 中添加密钥(iOS 的 API 密钥)参数,然后尝试如下代码:

GTLDriveFile *file;//Your Object
NSString *url = [NSString stringWithFormat:@"https://www.googleapis.com/drive/v3/files/%@?key=YOUR_KEY_iOS",
                 file.identifier];
GTMSessionFetcher *fetcher = [self.service.fetcherService fetcherWithURLString:url]; //GTLServiceDrive *service;

[fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error) {
    if (error == nil) {
        NSLog(@"Retrieved file content");
        // File Download here
    } else {
        NSLog(@"An error occurred: %@", error);
    }
}];
于 2016-05-27T05:22:01.750 回答
0

我已经尝试成功,但没有使用以下代码。NSString *url = [NSString stringWithFormat:@"https://www.googleapis.com/drive/v3/files/%@?alt=media", file.identifier]; 我用file.webContentLink.

于 2016-05-27T06:22:12.227 回答