我使用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)时,下载链接确实有用,它会下载文件。
我只是没有在这里得到什么或者它是一个错误?
答案 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);
}
}];
}