1

Google Drive JS API を使用して一連のファイルを取得していますが、ほとんどのことが期待どおりに機能します。

しかし、問題が 1 つあります。Google の API サイトにバグがあるようです。

1) Oauth 経由で認証する 2) 「change」コマンドを使用してファイルのリストを取得する (changeID なしで開始)

正常に動作し、返されたオブジェクトの URL も同様に動作します。画像 (mimeType: "image/jpeg") の "downloadUrl" を除きます。私はこのようなものを得る:

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 &gd=true)、ダウンロード リンクは機能し、ファイルをダウンロードします。

ここで何かが得られないだけですか、それともバグですか?

4

2 に答える 2

0

ダウンロードURLから&gd = trueを削除すると、同じ問題が発生します。これはうまく機能しているようです。しかし、APIを介してファイルコンテンツをダウンロードする正しい方法がわかりません。

于 2012-11-16T19:38:14.210 に答える
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 に答える