1

私はGAE Javaアプリを開発しており、PDFファイルをユーザーのGoogleドライブにアップロードする必要がありますが、アップロードは常に失敗し、いくつかのコードサンプルを既に確認したため、何が問題なのかわかりません.

import com.google.api.services.drive.Drive;
import com.google.api.services.drive.model.File;

.
.
.

byte[] pdfContent = <... 52kb PDF file ...>


ByteArrayContent mediaContent = new ByteArrayContent("application/pdf", pdfContent);

  File myPDF = new File();
       myPDF.setTitle("Sample PDF");
       myPDF.setDescription("Sample PDF");

  Drive driveService = new Drive.Builder(HTTP_TRANSPORT, JSON_FACTORY, getStoredCredential()).build();
  Drive.Files.Insert insert = driveService.files().insert(hugePDF, mediaContent);

insert.getMediaHttpUploader().setChunkSize(1024 * 1024);
File file = insert.execute();

このアップロード コードは常に Error: 400 OK を取得します。

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "badRequest",
    "message": "Bad Request"
   }
  ],
  "code": 400,
  "message": "Bad Request"
 }
}

Google ドライブ ライブラリを使用しています: google-api-services-drive-v2-rev1-1.7.2-beta.jar

ユーザーの Google ドライブからファイルを一覧表示またはダウンロードできるので、資格情報は問題ありません。

4

1 に答える 1

1

I think that the problem is in your library version. Current version is v2-rev39-1.12.0-beta. Check http://code.google.com/p/google-api-java-client/wiki/APIs#Drive_API. It is always better to use last API library version. We had a lot of problems with BigQuery API when we missed one update.

于 2013-01-16T19:11:09.660 に答える