Google图片的Google Drive API下载链接是否已损坏?

时间:2012-10-18 18:36:48

标签: google-drive-api google-api-client

我使用Google Drive JS API来获取大量文件,大多数内容都按预期工作。

但是有一个问题,似乎Googles API网站上有一个错误,也许我只是没有得到一些东西。

所以这就是我的所作所为: 1)通过Oauth进行身份验证 2)通过“更改”命令获取文件列表(从没有更改ID开始)

它工作正常,返回的Object中的URL也可以正常工作。除了图像的“downloadUrl”(mimeType:“image / jpeg”)。我得到这样的东西:

https://doc-10-5g-docs.googleusercontent.com/do(....)8996175007&e=download&gd=true

并且它返回401错误

当删除最后一个参数(https://doc-10-5g-docs.googleusercontent.com/do(....)8996175007&e=download没有& gd = true)时,下载链接确实有用,它会下载文件。

我只是没有在这里得到什么或者它是一个错误?

2 个答案:

答案 0 :(得分:0)

当我从下载网址中删除& gd = true时,我也面临同样的问题,看起来效果很好。但我不知道通过API下载文件内容的正确方法是什么。

答案 1 :(得分:0)

我不知道如何从JS API下载文件。但是从目标C我用它来下载文件内容。您需要使用他们的API来下载文件内容。这样他们就会从下载网址链接中省略“& gd = true ”参数。

目标C代码下载文件数据:

- (void)loadFileContent {
NSString *downloadUrl = [[self.driveFiles objectAtIndex:selectedFileIdx] downloadUrl];

GTMHTTPFetcher *fetcher =
[self.driveService.fetcherService fetcherWithURLString:downloadUrl];

[fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error) {
    if (error == nil) {
        NSLog(@"\nfile %@ downloaded successfully from google drive", [[self.driveFiles objectAtIndex:selectedFileIdx] originalFilename]);

    } else {
        NSLog(@"An error occurred: %@", error);
    }
}];

}