1

我正在使用 Google Drive JS API 来获取一堆文件,并且大多数事情都按预期工作。

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

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

它工作正常,返回的 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 w/o the &gd=true)然后下载链接确实有效下载文件。

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

4

2 回答 2

0

我不知道如何从 JS API 下载文件。但是从目标 C 我使用它来下载文件内容。您需要使用他们的 API 来下载文件内容。这样,他们将在下载 url 链接中省略“ &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);
    }
}];

}

于 2012-11-21T08:07:54.293 回答
0

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

于 2012-11-16T19:38:14.210 回答